我们打开mysql客户端,输入查询指令后:
可以看到mysql自带四个数据库,我们一般不适用mysql自带的,自己创建一个数据库后再使用
借鉴
使用前提:需要先use 数据库
;后再查询表
comment是对该字段的注释。
创建用户表:
输入 show tables;
查看数据库中的表:
创建完成后我们可以输入desc 表名
指令可以查看表结构
输入show create table tb_user;
可以看到详细的表创建
语法:
DROP TABLE [ IF EXISTS ] 表名
IF EXISTS 为可选,判断是否存在该数据表
如删除不存在的数据表会抛出错误
MySQL中的数据类型,主要分为:
理解为“没有值”或“未知值”
不要用NULL进行算术运算,结果仍为NULL
无符号的
声明该数据列不允许负数
示例:
age int unsigned, 年龄是int型并且是正数
0填充的
不足位数的用0来填充,如 int(3),5则为 005
自动增长的,每添加一条数据,自动在上一个记录数上加1
通常用于设置主键,且为整数类型
可定义起始值和步长
默认为NULL,即没有插入该列的数值
如果设置为NOT NULL,则该列必须有值
默认的
用于设置默认值
例如,性别字段,默认为“男”,否则为“女”;若无指定该列的值,则默认为“男”的值
语法:
CREATE TABLE [ IF NOT EXISTS ] `表名` (
`字段名1` 列类型 [ 属性 ] [ 索引 ] [注释] ,
`字段名2` 列类型 [ 属性 ] [ 索引 ] [注释]
) [ 表类型 ] [ 表字符集 ] [注释] ;
我们之前在创建表的时候并没有设置表的类型,但是数据库自动给我们生成一个数据类型
其实常见的表的类型还有下面几种:
MyISAM、InnoDB 、HEAP、BOB、CSV等
常用的有前两种MyISAM、InnoDB
两者的区别:
使用MyISAM: 节约空间及相应速度
使用InnoDB: 安全性,事务处理及多用户操作数据表
可为数据库、数据表、数据列设定不同的字符集
见上面的图,数据库也默认生成了字符集为utf8mb4,同样我们在创建表时,也可以自己设置表的字符集
语法:
CREATE TABLE 表名(
#省略一些代码
)CHARSET = utf8;
注意:
如无设定,则根据MySQL数据库配置文件my.ini(Windows系统)中的参数设定
如:character-set-sever = utf8
MySQL数据表以文件方式存放在磁盘中
包括表文件、数据文件以及数据库的选项文件
位置:MySQL安装目录\data下存放数据表。目录名对应数据库名,该目录下文件名对应数据表
注意:
InnoDB类型数据表只有一个*.frm文件,数据文件为上一级目录的 ibdata1 文件
MyISAM类型数据表对应三个文件: