一、创建数据表
需要注意的是,在操作数据表之前,应该使用“USE 数据库名”指定操作是在哪个数据库中进行,否则会抛出“No database selected”错误。
创建数据表的基本语法格式如下所示:
CREATE TABLE 表名
(
字段名1,数据类型[完整性约束条件],
字段名2,数据类型[完整性约束条件],
......
字段名n,数据类型[完整性约束条件]
)
例如下图:
为了验证数据表是否创建成功,需要使用SHOW TABLES语句进行查看,具体执行结果如下所示:
二、查看数据表
使用SHOW CREATE TABLE查看数据表在MySQL中,SHOW CREATE TABLE语句不仅可以查看创建表时的定义语句,还可以查看表的字符编码。SHOW CREATE TABLE语句的基本语法格式如下所示:
SHOW CREATE TABLE 表名;
在上述格式中,“表名”指的是要查询数据表的名称。
使用SHOW CREATE TABLE语句查看appled表,SQL语句如下所示:
SHOW CREATE TABLE appled;
执行结果如下:
在MySQL中,使用DESCRIBE语句可以查看表的字段信息,其中包括字段名、字段类型等信息。DESCRIBE语句的基本语法格式如下所示:
DESCRIBE 表名;
或简写为:
DESC 表名;
使用DESCRIBE语句查看appled表,SQL语句如下所示
DESC appled;
执行结果如下所示:
使用DESCRIBE语句查看数据表:
NULL:表示该列是否可以存储NULL值。
Key:表示该列是否已经编制索引。
Default:表示该列是否有默认值。
Extra:表示获取到的与给定列相关的附加信息。
二、修改数据表
(1) 修改表名
在数据库中,不同的数据表是通过表名来区分的。在MySQL中,修改表名的基本语法格式如下所示:
ALTER TABLE 旧表名 RENAME [TO] 新表名;
在上述格式中,“旧表名”指的是修改前的表名,“新表名”指的是修改后的表名,关键字TO是可选的,其在SQL语句中是否出现不会影响语句的执行。
在修改数据库表名之后,用SHOW TABLES语句查看数据库中的所有表,执行结果如下:
(2) 修改字段名
数据表中的字段是通过字段名来区分的,基本语法格式如下所示:
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;
将数据表aple中的name字段改为username,数据类型保持不变,SQL语句如下所示:
ALTER TABLE aple CHANGE name username INT(20);
为了验证字段名是否修改成功,通过DECS语句查看aple表的结构,执行结果如下所示:
(3)修改字段的类型数据
修改字段的数据类型,就是将字段的数据类型转为另外一种数据类型,基本语法格式如下所示:
ALTER TABLE 表名 MODIFY 字段名 数据类型;
咱们用ALTER语句修改ega字段的数据类型,SQL语句如下所示:
ALTER TABLE aple MODIFY ega CHAR(20);
为了验证id字段的数据类型是否修改成功,再次使用DECS查看aple数据表,执行结果如下:
(4)添加字段
在MySQL中,添加字段的基本语法格式如下所示:
ALTER TABLE 表名 ADD 新字段名 数据类型
[约束条件][FIRST|AFTER 已存在字段名]
在数据表aple中添加一个没有约束条件的INT类型的字段age,SQL语句如下:
ALTER TABLE aple ADD age INT(10);
为了验证字段age是否添加成功,接下来,使用DESC语句查看数据表aple,执行结果如下:
(5)删除字段
所谓删除字段指的是将某个字段从表中删除。在MySQL中,删除字段的基本语法格式如下所示:
ALTER TABLE 表名 DROP 字段名;
删除aple表中的age字段,SQL语句如下:
ALTER TABLE aple DROP age;
为了验证age字段是否删除,接下来,使用DESC语句查看aple表,执行结果如下:
(6)修改字段的排列位置
在MySQL中,修改字段排列位置的基本语法格式如下:
ALTER TABLE表名 MODIFY 字段名1 数据类型 FIRST|AFTER 字段名2
将数据表aple的username字段修改为表的第一个字段,执行的SQL语句如下:
ALTER TABLE aple MODIFY username INT(20) FIRST;
为了验证username字段是否修改为表的第一个字段,接下来,使用DESC语句查看数据表,执行结果如下:
(7) 删除数据表
删除数据表是指删除数据库中已存在的表,在删除数据表的同时,数据表中存储的数据都将被删除。
在MySQL中,直接使用DROP TABLE语句就可以删除没有被其它表关联的数据表,其基本的语法格式如下所示:
DROP TABLE 表名;
删除数据表aple,SQL语句如下:
DROP TABLE aple;
为了验证数据表grade是否被删除成功,使用DESC语句查看数据表,执行结果如下:
上述结果可以看出,aple表已经不存在了,说明数据表aple被成功删除了。
三,表的约束
(1) 主键约束
主键约束是通过PRIMARY KEY定义的
在MySQL中,主键约束分为两种,具体如下:
1、单字段主键
2、多字段主键
单字段主键指的是由一个字段构成的主键,其基本的语法格式如下所示
字段名 数据类型 PRIMARY KEY
多字段主键指的是多个字段组合而成的主键,其基本的语法格式如下所示:
PRIMARY KEY (字段名1,字段名2,……字段名n)
(3) 非空约束
非空约束指的是字段的值不能为NULL,在MySQL中,非空约束是通过NOT NULL定义的,其基本的语法格式如下所示:
字段名 数据类型 NOT NULL;
(4)唯一约束
唯一约束用于保证数据表中字段的唯一性,即表中字段的值不能重复出现。唯一约束是通过UNIQUE定义的,其基本的语法格式如下所示:
字段名 数据类型 UNIQUE;
(5) 默认约束
默认约束用于给数据表中的字段指定默认值,即当在表中插入一条新记录时,如果没有给这个字段赋值,那么,数据库系统会自动为这个字段插入默认值。默认值是通过DEFAULT关键字定义的。
默认约束基本的语法格式如下所示:
字段名 数据类型 DEFAULT 默认值;
四、设置表的字段值自动增加
在数据表中,若想为表中插入的新记录自动生成唯一的ID,可以使用AUTO_INCREMENT约束来实现。
AUTO_INCREMENT约束的字段可以是任何整数类型。
默认情况下,该字段的值是从1开始自增的。
使用AUTO_INCREMENT设置表字段值自动增加的基本语法格式如下所示:
字段名 数据类型 AUTO_INCREMENT;