语法:alter table 表名 drop 列名称;
- -- 删除表students中的 birthday 列:
- alter table students drop birthday;
4、重定名表
语法:alter table 表名 rename 新表名;
- -- 重定名 students 表为 workmates:
- alter table students rename workmates;
5、清空表数据
要领一:delete from 表名; 要领二:truncate table "表名";
- DELETE:1. DML说话;2. 可以回退;3. 可以有前提的删除;
- TRUNCATE:1. DDL说话;2. 无法回退;3. 默认全部的表内容都删除;4. 删除速率比delete快。
- -- 清空表为 workmates 内里的数据,不删除表。
- delete from workmates;
- -- 删除workmates表中的全部数据,且无律例复
- truncate table workmates;
6、删除整张表
语法:drop table 表名;
- -- 删除 workmates 表:
- drop table workmates;
7、删除整个数据库
语法:drop database 数据库名;
- -- 删除 samp_db 数据库:
- drop database samp_db;
十一、其余
1、SQL删除一再记录
- -- 查找表中多余的一再记录,一再记录是按照单个字段(peopleId)来判定
- select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)
- -- 删除表中多余的一再记录,一再记录是按照单个字段(peopleId)来判定,只留有rowid最小的记录
- delete from people
- where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)
- and rowid not in (select min(rowid) from people group by peopleId having count(peopleId )>1)
- -- 查找表中多余的一再记录(多个字段)
- select * from vitae a
- where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
- -- 删除表中多余的一再记录(多个字段),只留有rowid最小的记录
- delete from vitae a
- where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1) and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)
- -- 查找表中多余的一再记录(多个字段),不包括rowid最小的记录
- select * from vitae a
- where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1) and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)
【编辑保举】 - 一道经典的MySQL口试题,谜底呈现三次反转
- MySQL数据库基本操纵呼吁
- 微处事的数据库计划
- 超具体的SQL Server数据库触发器总结
- 官方器材|MySQL Router高可用道理与拭魅战
【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0 (编辑:湖南网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|