mysql:列的增删改查

语法:

// 默认新增的列在表的最后一列
ALTER TABLE table_name
ADD column_name datatype

// 在指定列名后添加新列
ALTER TABLE table_name
ADD column_name datatype after 列名

例子:

// 默认新增的列在表的最后一列
alter table user
add height tinyint unsigned not null default 0

// 在指定列名后添加新列
alter table user
add height tinyint unsigned not null default 0 after weight

语法:

// 删库
DROP DATABASE database_name

// 删表
DROP TABLE table_name
// 删除表内的数据,但并不删除表本身(相当于删除表再重建)
TRUNCATE TABLE table_name
// 删除表中的索引
ALTER TABLE table_name DROP INDEX index_name
// delete 语句用于删除表中的数据
delete from 表名称 where 删除条件;
删除 id 为 3 的行: delete from students where id=3

// 删列
ALTER TABLE table_name
DROP COLUMN 列名

例子:

alter table user
drop column height

delete,drop,truncate 都有删除表的作用,区别在于:
1、delete 和 truncate 仅仅删除表数据,drop 连表数据和表结构一起删除,打个比方,delete 是单杀,truncate 是团灭,drop 是把电脑摔了。
2、delete 是 DML 语句,操作完以后如果没有不想提交事务还可以回滚,truncate 和 drop 是 DDL 语句,操作完马上生效,不能回滚,打个比方,delete 是发微信说分手,后悔还可以撤回,truncate 和 drop 是直接扇耳光说滚,不能反悔。
3、执行的速度上,drop>truncate>delete,打个比方,drop 是神舟火箭,truncate 是和谐号动车,delete 是自行车。

例子:

// change 可以直接修改列名
alter table user
change height shengao smallint

// modify 不能修改列名
alter table user
modify shengao height smallint(失败)

desc 表名
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章