MySQL常用语句

外键

-- 添加外键时不指定外键名称则会默认创建一个外键名
-- 添加
ALTER TABLE 从表名 ADD FOREIGN KEY (外键列) REFERENCES 主表名(主键列);
-- 删除
ALTER TABLE 从表名 DROP FOREIGN KEY 外键名;
-- 查看外键
SHOW CREATE TABLE 表名;

索引

-- 创建
create index 索引名 on 表名(列名);

-- 普通索引
ALTER TABLE 表名 ADD INDEX 索引名称(列名);

-- 组合索引
ALTER TABLE 表名 ADD INDEX 索引名称(列名1,列名2,...);

-- 主键索引
ALTER TABLE 表名 ADD PRIMARY KEY(主键列名); 

-- 外键索引(添加外键约束,就是外键索引)
ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY (本表外键列名) REFERENCES 主表名(主键列名);

-- 唯一索引
ALTER TABLE 表名 ADD UNIQUE 索引名称(列名);

-- 全文索引(mysql只支持文本类型)
ALTER TABLE 表名 ADD FULLTEXT 索引名称(列名);

-- 为student表中name列添加全文索引
ALTER TABLE student ADD FULLTEXT idx_fulltext_name(name);

多表查询

1.内连接 (显式和隐式)

select 字段列表 from 表1 join 表2 on 关联条件
或
select 字段列表 from 表1,2 where 关联条件

2.外连接 (左外和右外)

select 字段列表 from 表1 left|right join 表2 on 关联条件

视图

1.创建

create view 视图名[(字段列名)] as select语句;

2.修改

alter view 视图名[(字段列名)] as select语句;

存储过程

1.创建

DELIMITER $
		-- 标准语法
		CREATE PROCEDURE 存储过程名称([参数列表])
		BEGIN              
			SQL 语句列表;   
		END$                
 
		-- 修改分隔符为分号
		DELIMITER ;

2.调用
call 存储过程名称([实际参数列表]);
3.if和while的使用

if 条件表达式 then
			sql语句
		elseif 条件表达式 then
			sql语句
		else
			sql语句
		end if;
----------------------------------------------------
while 条件表达式 do
			sql语句;
		end while;

存储函数

1.创建

DELIMITER $	
		create function 函数名()
		returns 返回值的类型
		begin
			函数体
			return 返回值;
		end
		-- 修改分隔符为分号
		DELIMITER ;

2.调用
select 函数名(参数);

触发器

1.创建

DELIMITER $
		CREATE TRIGGER 触发器名称
		BEFORE|AFTER  INSERT|UPDATE|DELETE
		ON 表名
		FOR EACH ROW
		BEGIN
			触发器要执行的功能;
		END$
		DELIMITER ;

事务

1.手动开启 默认的提交方式为自动提交,手动开启事务需要手动提交

		1. 开启事务
			start transaction;
		2. 提交事务
			commit;
		3. 回滚事务
			rollback;

java代码管理事务的代码思路:
		try{
			// 1. 开启事务
			// 2. 执行sql语句
			// 3. 提交事务
		}catch(Exception e){
			// 4. 回滚事务
		}	
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值