查看存在的所有数据库
查看符合条件的数据库(模糊查询,%MySQL中的通配符)
查看数据库的版本
进入对应的数据库
查看数据库下的所有表
查看数据库与编码相关的参数
(也可以不使用模糊查询,从而查看所有信息,由于8.0版所有内容太多,所以未演示)
查看当前所在的数据库
查看当前登录的用户
创建一个数据库并设置为utf8mb4编码
(if not exists为可选参数,如果不存在此库时就创建该数据库,存在则不创建也不会报错)
create database if not exist 数据库名 character set utf8mb4
查看数据库创建时的信息
show create database 数据库名;
创建一个表(约束条件可不添加)
create table 表名(
字段名 类型 约束条件,
字段名 类型 约束条件)
ENGINE=引擎 DEFAULT CHARSET=编码;
类型
字符串类型
char(size) 定长字符串,最多255个字符 默认大小为1 ,大小为size个字节
varchar(size) 不定长字符串,最多255个字符
nchar(size) 只支持SQL server 大小为size*2个字节
nvarchar(size) 只支持SQL server
TEXT 不固定字符串,一般用来存储文章,效率较低
二进制:
binary 可储存图片等小文件
BLOB 可储存图像视频等较大的文件
bit 储存布尔数据类型
数字:
TINYINT(size) 有符号-128-127 无符号0-255 size:最大位数
SMALLINT(size) 两个字节存储数据 -32768-32767 ,0-65535
int(size) 四个字节 21亿多
bigint(size) -9223372036854775808 到 9223372036854775807,0-18446744073709551615
FLOAT(size,d) 带有浮动小数点的小数字 d:小数点右侧的最大位数
double(size,d) 带有浮动小数点的大数字
decial(size,d) 固定的小数点(金融、银行这些数据要求精确必须是这个类型)
时间日期:
date 日期 格式:YYYY-MM-DD
time 时间 格式:HH:MM:SS
datetime 日期和时间的组合 格式:YYYY-MM-DD HH:MM:SS
timestamp 时间戳 (可变,类似于邮戳)
约束条件
主键约束 具有唯一性并且不能为空,一张表中只能有一个主键约束
外键约束 与其他表之间的约束
唯一约束 整个表中此字段的内容不能重复,可以存在多个null
非空约束 在插入信息时此字段不能为空
默认值约束 在插入信息不填写此字段时的默认值
检查约束 检查插入的信息是否满足条件,8.0以前的版本可以配置,但不生效
查看创建表时的信息
有些参数在创建时未设置,这里查看的为默认值(使用的引擎和编码)
show create table 表名;
查看表的结构
desc 表名;
在表中插入一条数据
intsert into 表名 (需要插入字段的名称和顺序,可不写默认按顺序插入所有字段) values ();
主键自增,检查约束报错时主键变量不自增,唯一约束报错时主键变量自增
查看表的所有信息和查看表的某字段并匹配相应的条件进行局部信息的查询
select 字段名 from 表名 where 条件;
更改表的内容,需要匹配条件,否则会更改整个表该字段的内容
update 表名 set 字段=更改后的值 where 条件;
删除表的内容,需要添加匹配条件,否则删除整张表
delete from 表名 where 条件;
更改表自身的结构
添加新的字段
alter table 表名 add 新字段名 字段类型;
修改字段的类型
alter table 表名 modify 字段名 修改后的类型;
查看修改后表的结构信息,确认已修改成功
修改字段的名称
alter table 表名 change 字段名 新字段名 字段类型;
修改表名称
方法一:
alter table 表名 rename 新表名;
方法二:
rename table 表名 to 新表名;
复制表的结构
只复制结构字段,不复制表的内容(数据)
写法一:
create table 新表名 like 要复制的表;
写法二:
create table 新表名 select * from 要复制的表;
查看复制后的表的结构信息
删除表
drop table 表名;
删除数据库
drop database 数据库名;