MySQL 3.创建数据表
数据表(或称表)是数据库最重要的组成部分之一,是其他对象的基础。
关系型的数据库其实就是一张二维的表格,更严谨的指的就是数据表,二维表格的行称为记录、列称为字段。
若打开了数据库想确认是否是自己想要的数据库时输入SELECT DATABASE();
删除数据表:
DROP TABLE 表名;
查看表结构:SHOW COLUMNS FROM 数据表名称;
查看表内容:SELECT * FROM 表名;
创建数据表步骤:
- 1.USE 数据库名称;
- 2.CREATE TABLE 数据表名称(列名 数据类型, ...);
Demo:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 CREATE TABLE test( 2 username VARCHAR(20), 3 age TINYINT UNSIGNED, 4 salary FLOAT(8,2) INSIGNED 5 );
demo中的UNSIGNED表示无符号
查看数据表:
- 显示当前数据库的数据表 SHOW TABLES;
- 显示指定名称数据库内的数据表 SHOW TABLES FROM 数据库名;
查看数据表结构:SHOW COLUMNS FROM 数据表名
往表中添加记录:
- 往表中全部添加记录(每一列都需有值) INSERT 数据表名称 VALUES(val,...);
- 有选择性的往某几列中添加数据 INSERT 数据表名称(列名1,...) VALUES(val1,...);
Demo:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
INSERT test2 VALUES('GZC',21,999999.99); INSERT test2(username,age,salary) VALUES('gzc',21,1);
NULL与 NOT NULL:
创建表时可设置某一列的属性是否允许为空
demo:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 CREATE TABLE test3( 2 username VARCHAR(20) NOT NULL, 3 age TINYINT UNSIGNED 4 );
数据列默认允许为NULL
自动编号(AUTO_INCREMENT):
- 自动编号(AUTO_INCREMENT),且必须与主键配合使用
- 默认情况下,起始值为1,每次的增量为1
- 自动增长的字段一定为数值型(整数或浮点型),若为浮点型时小数位一定要为0
主键:
- 设置主键是可用PRIMARY KEY也可直接书写为KEY
- 每张数据表只能有一个主键
- 主键保证了数据的唯一性
- 主键自动为NOT NULL
- 主键不一定和AUTO_INCREMENT配合使用
- 主键可赋值但值不能相同
Demo:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
CREATE TABLE test3( id TINYINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, username CHAR(20) );
唯一约束(UNIQUE KEY):
- 唯一约束可以保证记录的唯一性
- 唯一约束的字段可以为NULL(只会保存一个NULL值)
- 每张表可以存在多个唯一约束
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
CREATE TABLE test4( id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, username VARCHAR(20) NOT NULL UNIQUE KEY, age TINYINT UNSIGNED );
默认约束:
当插入记录时,如果没有明确为字段赋值,则自动赋予默认值
Demo:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 CREATE TABLE test5( 2 id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, 3 username VARCHAR(20) NOT NULL UNIQUE KEY 4 sex ENUM('1','2','3') DEFAULT '3' 5 );