目录
自动添加表的属性:
向表内插入数据:
查看表中的数据:
查看表结构:
查看表的详细结构:
更改表名和字段:
更改表名:
更改字段数据类型:
修改字段名:
添加字段:
删除字段:
修改字段排列位置:
更改储存引擎:
删除表的外键约束:
删除表:
前言:自学记录。
自动添加表的属性:
这里应该接入笔者写的上一篇的内容,会更好一些。
MySQL:创建数据库,数据表,主键和外键_豆包的戳苏的博客-CSDN博客
自动添加的字段可以是任何整数类型。
(语句中包含CONTRAINT 就是约束语句。)
选择数据库,在库中建立一个新的数据表 tb6
在表中添加相关的字段,将 id 设置为 主键,并设置成 自动约束。
自动约束可以自动生成数据,如果了解过python中第三方库pandas的话,可以参考里面的DataFrame 或 中的 index,因为 index 是自动生成的。
向表内插入数据:
INSERT INTO <表名称> (<字段1>, <字段2>);
# 括号内部可以添加多个字段,如果字段设置为“NOT NULL”,就必须添加;如果没有“非空约束”,就可以不用添加。同时注意“唯一约束”。
查看表中的数据:
SELECT * FROM <表名称>;
继续按这个方式插入:
证明该语句可以查看完整的表格,而不是只显示插入的部分。
这里插播一条:
查看表结构:
DESCRIBE <表名称>; 或 DESC <表名称>;
查看表的详细结构:
SHOW CREATE TABLE <表名称>;
从中我们可以知道:id 数据类型为INT,每一条不可为空,自动填充;name 字符串->utf8mb4;deptID 数据类型为整数型,默认为空,salary同之;主键为id;引擎为InnoDB;自动填充了7个内容(包括最开头的一行)
DEFAULT 指的是默认约束,这里面默认的是NULL。
做了一个小测试,又插入了两行数据,这回再看看:
这里的AUTO_INCREMENT 是 9,但是我插入了8个数据,算上字段行,一共生成了9行。
更改表名和字段:
更改表名:
ALTER TABLE <旧名字> RENAME <新名字>;
# 书上教材的写法是在RENAME 后面加了一个 [TO],我这里删掉了,是为了能够更好的理解。
# 更改表名 和 更改字段名称一定要区别开来!
最后通过查看全部表名进行检验。
更改字段数据类型:
这个句法和更改表名的类似,所以放在一起说了。
ALTER TABLE <表名> MODIFY <字段> <新数据类型>;
依然是tb11作为例子,查看最初的数据类型:
接下来进行修改:将name字段的数据类型改为int
ALTER TABLE <> MODIFY <> <>;
显示表格信息,进行查看:
将name字段的int类型更改回varvhar(25):
ALTER TABLE <> MODIFY <> <>;
如果不清楚数据类型,可以在修改的最初,展示一下表格中的各字段细节。
修改字段名:
# 数据库中含有数据的时候,不要轻易更改数据类型。
ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新字段数据类型>;
添加字段:
ALTER TABLE <表名> ADD <新字段> <新字段数据类型> [FIRST/AFTER <这部分可有可无,如果没有则放在所有字段最末尾,如果是FIRST则放在开头,如果想要放在指定位置,则用AFTER,你想要放在哪个字段后面,AFTER后面就写哪个字段的名称>];
加上AFTER 参数:
# 当然可以发现,数据类型这里,不区分大小写。
删除字段:
ALTER TABLE <表名> DROP <字段名>;
修改字段排列位置:
ALTER TABLE <表名> MODIFY <字段名> <字段数据类型> [FIRST/AFTER] <如果使用AFTER,排列在哪个字段后面,就写哪个字段的名称,FIRST就不需要了>
把school字段放在 id 的后面。
把NAME 放在第一个后,再放到最后一个
放到最后一个依然应用AFTER
更改储存引擎:
ALTER TABLE <表名> ENGINE=<更改后的引擎> ;
删除表的外键约束:
ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>;
以上是我创建的带有外键约束的表,现在删除外键:
# 注意外键名称!是:fk_emp_tb3, 不是 septID(这个是字段)
删除表:
DROP TABLE IF EXISTS <表名>;
# 如果存在外键,父表无法直接删除,必须取消外键约束,才能进行删除!!!
以上,就是数据表的基本操作,复盘:
首先学习了自动添加表格属性,这个直接在创建表格,设置字段的时候进行标注:AUTO_INCREMENT
查看表结构 DESCRIBE 简写为DESC
查看详细内容: SHOW CREATE TABLE <表名>;
修改表名: ALTER TABLE <旧表名> RENAME <新表名>;
修改表内字段数据类型: ALTER TABLE <表名> MODIFY <字段名> <新数据类型>;
修改表内字段名: ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新字段数据类型>;
添加字段:ALTER TABLE <表名> ADD <字段名> [FIRST/LATER<>];
删除字段:ALTER TABLE <表名> DROP <字段名>;
改变字段位置:ALTER TABLE <表名> MODIFY <字段> FIRST/AFTER <字段>;
删除外键约束:ALTER TABLE <表名> DROP FOREIGN KEY <外键>;
删除表:DROP TABLE IF EXISTS <表名(可以是多个)>;
# 前提是不能删除带有外键约束的父表,必须取消约束才能删除!
日拱一卒,功不唐捐。