mysql的基础操作

mac使用brew安装mysql

先查看mac上边有没有安装brew

brew -v 可查看brew版本

没有安装可先安装brew:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

检查brew能否正常工作

brew doctor

更新brew包

brew update

安装mysql

brew insatll mysql

启动mysql

brew services start mysql

重启:

brew services restart mysql

启动MySQL服务

mysql.server start

需要权限时可以用

sodu mysql.server start 

设置密码

mysql_secure_installation

查看 mysql 初始的密码策略

SHOW VARIABLES LIKE 'validate_password%';

修改mysql初始的密码策略

set global ...
set global validate_password.length=6;

连接mysql

输入 mysql -uroot -p 回车输入密码

mysql -uroot  -p

查看当前的数据库端口号

mysql的默认端口号是3306

show global variables like 'port';

查看当前的数据库

SHOW DATABASES;

创建数据库时设置字符编码

直接创建的数据库,数据库的编码方式是 MySQL 默认的编码方式 latin1 (单字节编码) ,通常我们会在数据库中存放中文数据,所以最好把数据库的编码方式设置成 utf-8 ,这样中文才能正常显示。

CREATE DATABASE USER CHARSET UTF8;

删除数据库

MySQL中,删除数据库通过SQL语句DROP DATABASE。其语法格式如下:

DROP DATABASE User

查看和显示数据库的编码方式

使用 show create database 数据库名; 显示数据库的创建信息。

show create database User;

修改数据库编码

使用 alter database 数据库名 character set utf8;
如果一个数据库的编码方式不符合使用需求,可以进行修改。刚才创建的 MyDB_one 经过修改后,编码方式也变成了 utf-8 。

alter database User character set utf8;

进入或切换数据库

使用 use 数据库名 进入或切换数据库。
刚连接上 MySQL 时,没有处于任何一个数据库中,如果要使用某一个数据库,就需要进入到这个数据库中。
use 数据库名 这个命令后面的分号可以省略,这是 SQL 语句中唯一可以省略分号的语句。

use User;

显示当前数据库

进入数据库中,可以使用 select database(); 来查看当前处于哪个数据库中。长时间操作数据库时,在很多数据库中来回切换后,查看当前的数据库,避免操作错了数据库。

select database();

查看当前数据库中的表

使用 show tables;查看当前数据库中有哪些表。

show tables;

创建表

使用 create table 表名(字段1 字段类型,字段2 字段类型,字段3 字段类型,…); 来创建一张表。
在 User 中创建了一个叫 userinfo 的数据表,这张表有三个字段 id,username,password 。为了增加 SQL 的可读性,字段名我用的是小写,字段类型用大写。

create table if not exists userinfo (
  id int unsigned auto_increment,
  username varchar(100) not null,
  password varchar(20) not null,
  primary key ( id )
)engine=innodb default charset=utf8;

如果你不想字段为 null 可以设置字段的属性为 not null, 在操作数据库时如果输入该字段的数据为null ,就会报错。
auto_increment定义列为自增的属性,一般用于主键,数值会自动加1。
primary key关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。
engine 设置存储引擎,charset 设置编码。

删除表

drop table userinfo

显示表信息

用 show create table 表名; 来显示已创建的表的信息。

show create table userinfo;

查询表内容

select * from userinfo;

如果想更好地展示表的字段信息,可以使用 desc 表名; 来显示表的字段信息。

desc userinfo;

给表增加字段

使用 alter table 表名 add 字段名 数据类型; 为已存在的表添加一个新字段。

alter table userinfo add age CHAR(20);

删除表的字段

使用 alter table 表名 drop 字段名; 删除一个表中已存在的字段。

alter table userinfo drop age;

修改字段的数据类型

使用 alter table 表名 modify 字段名 数据类型; 修改表中现有字段的数据类型。

alter table userinfo modify username VARCHAR(12);

修改字段的数据类型并且改名

使用 alter table 表名 change 原字段名 新字段名 数据类型; 修改表中现有字段的字段名和类型。
将表的 name 改成了 username ,同时修改了 username 的数据类型。

alter table userinfo change username name CHAR(18);

MySQL 常用字段类型

整数类型

数据类型 数据范围
TINYINT -128 – 127
SMALLINT -32768 – 32767
MEDIUMINT -2^23 – 2^23-1
INT -2^31 – 2^31-1
BIGINT -2^63 – 2^63-1

字符串类型

数据类型 字节范围 用途
CHAR(n) 0 – 255字节 定长字符串
VARCHAR(n) 0 – 65535字节 变长字符串
TEXT 0 – 65535字节 长文本数据
LONGTEXT 0 – 2^32-1字节 极大文本数据
BLOB 0 – 65535字节 二进制长文本数据
LONGBLOB 0 – 2^32-1字节 二进制极大文本数据

小数类型
m 表示浮点数的总长度,n 表示小数点后有效位数。

数据类型 数据用法 数据范围
Float Float(m,n) 7位有效数
Double Double(m,n) 15位有效数
Decimal Decimal(m,n) 28位有效数

时间类型

数据类型 格式 用途
DATE YYYY-MM-DD 日期
TIME HH:MM:SS 时间
YEAR YYYY 年份
DATETIME YYYY-MM-DD HH:MM:SS 日期和时间
TIMESTAMP 10位或13位整数(秒数) 时间戳

  转载请注明: 小浩之随笔 mysql的基础操作

 上一篇
Node操作MySQL数据库 Node操作MySQL数据库
安装mysql npm i mysql -S 引入模块 let mysql = require('mysql'); 测试mysql模块是否能正常工作 const mysql = require('mysql') // 连接配置mysq
2022-09-13
下一篇 
linux的基本操作命令 linux的基本操作命令
1、cd命令 功能说明:切换目录。 举 例: 却换到根目录 :cd / 切换到上次目录: cd - 2、 ls命令 功能说明:列出目录内容。 举 例: 列出/var目录的文件和目录的信息 :ls –l /var; 最常用方式 ls
2022-05-15
  目录