mysql 常用命令
-
表中设置联合unique
alter table role_function_view_relative add unique(`role_id`,`func_id`);
-
删除主键
alter table table_test drop primary key;
3. 新增主键 (注:在增加主键之前,必须先把反复的id删除掉 )
alter table table_test add primary key(id);
-
查询mysql的版本号
select version();
5. 查看当前会话是否自动提交事务
show variables like "autocommit”;
6. 查看当前会话锁等待超时时间限制,默认为50S
show variables like "Innodb_lock_wait_timeout";
7. 查看锁表情况
show status like 'Table%';
-- Table_locks_immediate 指的是能够立即获得表级锁的次数
-- Table_locks_waited 指的是不能立即获取表级锁而需要等待的次数
8. 查看正在被锁定的的表
show OPEN TABLES where In_use > 0;
-
创建索引
1.添加PRIMARY KEY(主键索引)
mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )
2.添加UNIQUE(唯一索引)
mysql>ALTER TABLE `table_name` ADD UNIQUE (
`column`
)
3.添加INDEX(普通索引)
mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column` )
4.添加FULLTEXT(全文索引)
mysql>ALTER TABLE `table_name` ADD FULLTEXT ( `column`)
5.添加多列索引
mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )
-
添加外键
alter table t_book add constraint `fk` foreign key (`bookTypeId`) references t_booktype(`id`)
11. InnoDB行锁实现方式
InnoDB行锁是通过索引上的索引项来实现的,这一点MySQL与Oracle不同,后者是通过在数据中对相应数据行加锁来实现的。InnoDB这种行锁实现特点意味者:只有通过索引条件检索数据,InnoDB才会使用行级锁,否则,InnoDB将使用表锁!。
-
查询数据库表大小
select
table_schema as '数据库',
table_name as '表名',
table_rows as '记录数',
truncate(data_length/1024/1024, 2) as '数据容量(MB)',
truncate(index_length/1024/1024, 2) as '索引容量(MB)'
from information_schema.tables
order by TABLE_ROWS desc
SQL优化:
连接查询 > 嵌套查询: https://www.acfun.cn/v/ac11760731
SQL逻辑处理顺序:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2018-12-19 pipelinedb学习笔记 - 1. Continuous Views (连续视图)