**# 常用的sql语句集合**
以下所有示例表名都为browse_msg ;这都是针对我自己经常用的简单语句
1、选择性新增语句
INSERT into browse_msg (id,ip) VALUES (2,'47.105.52.88');
2、全部新增(有多少字段都必须全部给定值)
INSERT into browse_msg VALUE (null,'标题','2022-08-23 15:08:04','417.565.23','海口');
3、删除单个(id可以改为别的字段)
DELETE from browse_msg where id=233;
4、删除所有(慎用)
DELETE from browse_msg ;
5、删除单个(id可以改为别的字段)
DELETE from browse_msg where id=233;
第一种 使用delete 语句
特点:
delete 属于数据库操纵语言DML,表示删除表中的数据,
删除过程是每次从表中删除一行,并把该行删除操作作为事务记录在日志中保存
可以配合事件(transaction)和 回滚(rollback)找回数据,且自增不会被重置
delete 既可以对table也可以对view
可以全部删除,也可以按条件删除
语法:
-- 删除表中全部数据
delete from 表名
-- 按条件删除
delete from 表名 where 条件
第二种 使用truncate 语句
特点:
truncate 属于数据库定义语言DDL,表示删除表中所有数据,DDL操作是隐性提交的!不能rollback
truncate一次性的从表中删除所有数据,不会保存到日志中,相当于直接删除整个表,再重新创建一个一模一样的表
使用truncate 删除的数据不能恢复
truncate 只能对table,执行速度快
语法:
-- 删除表中所有数据且不可恢复
truncate from 表名
第三种 使用 drop 语句
特点:
drop 属于数据库定义语言DDL,表示删除表, 也可以用来删除数据库,删除表格中的索引。
执行速度,一般来说: drop> truncate > delete。
语法:
-- 删除 表
drop table 表名
-- 删除数据库
drop database 数据库名
-- 删除索引
<!--用于 MS Access 的 DROP INDEX 语法:-->
DROP INDEX index_name ON table_name
<!--用于 MS sql Server 的 DROP INDEX 语法-->
DROP INDEX table_name.index_name
<!--用于 DB2/Oracle 的 DROP INDEX 语法:-->
DROP INDEX index_name
<!--用于 MysqL 的 DROP INDEX 语法-->
ALTER TABLE table_name DROP INDEX index_name
7、修改所有(慎用)
UPDATE browse_msg set browsetitle='学习一下',ip='11.110.23';
8、根据字id查询(id可以改为别的字段)
select * from browse_msg WHERE id=1;
9、查询所有
select * from browse_msg;
10、查看数据库调度事件是否开启(开启后可以使用事件功能,可以定期处理事件,比如备份)
SHOW VARIABLES LIKE 'event_scheduler;
11、开启调度事件
SET GLOBAL event_scheduler = ON;
12、关闭调度事件
SET GLOBAL event_scheduler = OFF;
13、数据库表自增id重置为1
ALTER TABLE browse_msg AUTO_INCREMENT = 1;
14、当您的库中删除了大量的数据后,您可能会发现数据文件尺寸并没有减小。这是因为删 除操作后在数据文件中留下碎片所致,这时候可以使用该语句(注意,在OPTIMIZE TABLE运行过程中,MysqL会锁定表。)
OPTIMIZE table browse_msg ;
15、查询所有数据库所占磁盘空间大小(对于数据量非常大的服务器需要知道使用情况)
select
TABLE_SCHEMA,
concat(truncate(sum(data_length)/1024/1024,2),' MB') as data_size,
concat(truncate(sum(index_length)/1024/1024,2),'MB') as index_size
from information_schema.tables
group by TABLE_SCHEMA
ORDER BY data_size desc;
16、删除id不为下面这些值的语句(id可以改为其他的字段)
delete from browse_msg where id not in(1,5,7,9)
原文地址:https://www.jb51.cc/wenti/3282168.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。