数据库(mysql)表的操作
1、创建表,使用create
–语法:
create table 表名(
列名1 数据类型 [约束],
列名1 数据类型 [约束],
列名1 数据类型 [约束]
)
–创建表,并且给id字段加入加入主键(约束),唯一且绝对不可以为空;唯一标识表中一行记录
–注意:创建表的时候一定要加入主键(primary key)
Create table order(
Order_id int primary key,
Order_name varchar(20)
)
–如果插入数据的时候没有指定列名
–则数据必须按照默认的顺序进行添加
例:
INSERT INTO dingdan VALUES(1,'中通快递');
INSERT INTO dingdan VALUES (2, '中通快递');
INSERT INTO dingdan VALUES (3, '中通快递');
–自增列 auto_incrememnt,主键上应用
–自增列 不去指定起始值 则默认从1开始,自增列的意思即是每次向表中填入数据则默认自己增加1
例:
DROP TABLE dingdan;
CREATE TABLE dingdan(
dingdan_id INT PRIMARY KEY AUTO_INCREMENT, -- 定义主键自增长
dingdan_name VARCHAR(20)
)
2、删除表使用 drop
–语法
drop table 表名
–不同数据库,表名相同则先切换数据库在删除表。
Use 数据库名字
Drop table 表名
–如果表和表之间有关系
–能否删除表
–结论:删除父表不能成功,删除子表则可以成功
– 为什么?子表引用了父表的列。假设删除父表,那么子表还存在引用父表数据,所以不能直接删除父表。
解决方案:
1)先删除引用关系,即:外键关系
2)先删除子表,再删除父表
3)删除级联关系:(SQL语句如下)
3、修改表,使用alter
– 语法
Alter table 表名 操作
– 操作
1)单纯对表 列修改:修改数据类型;添加列;删除列;重名列名;重名表名
2)对表约束操作:添加约束;删除约束
– 添加列
Alter table 表名 add 列名 数据类型
ALTER TABLE mds_user ADD u_address CHAR(20);
– 删除列
Altert table 表名 drop [column] 列名
ALTER TABLE mds_user DROP u_address;
– 修改列数据类型
Alter table 表名 modify [column] 列名 新的数据类型
ALTER TABLE mds_user MODIFY COLUMN u_address VARCHAR(50);
– 修改列的名字
Alter table mds_user change 旧列名 新列名 数据类型
ALTER TABLE mds_user CHANGE u_address uu_address VARCHAR(50);
– 重命名表名
Alter table 旧表名 rename 新表名
ALTER TABLE mds_user RENAME mds_user_2