mysql知识梳理

MySQL:数据库管理系统(dbms)
	库(database):存储数据的地方
	表(table):定义一种关系,用于数据与关系的对应
	视图(view):可以看作一个虚拟表,表结构和数据由定义的查询语句决定
		作用:提高代码重用性、安全、对外接口统一
		劣势:效率低下、在连表的基础上不能进行增删改
	触发器(trigger):增删改操作的条件触发
		语法:create trigger 触发器名 before|after 事件 on 表名 for each row [begin] 触发器语句 [end];
		作用:自动执行某些操作,减少流程
		劣势:定义时不校验触发语句的有效性
		insert:new
		delete:old
		update:new、old
	存储过程:相当于java中void方法,但是可以由出参,注重的是过程
	函数:相当于有返回值的方法,注重的是返回值
	索引:
		主键(primary key):不重复、查询检索速度快
		唯一索引(unique):基本同主键,但是可以有多个
		普通索引(index):提高查询效率
		全文索引:提高查询效率,只能在MyISAM引擎的表中使用

	语句的分类:
		DDL:对库和表本身的操作
			主要有:create、drop、alter
		DML:对数据的增删改
			主要有:insert、update、delete
		DQL:对数据的查询
			主要有:select
		DCL:赋权和事务支持
			主要有:grant、commit、rollback
	库的操作:
		create database [if not exists] 库名;
		drop database [if exists] 库名;
		show databases;
		grant select on 库名.表名 to '用户名'@'ip地址' identified by '密码';
		use 库名;
	表的操作:
		create table [if not exists] 表名(
			字段名 类型(长度) [属性 索引][注释],
			...
		);
		drop table [if exists] 表名;
		alter table 表名 renname to 新表名;
		alter table 表名 add column 字段名 类型(长度) [属性 索引][注释];
		show tables;
		desc 表名;
		show create table 表名;
	数据操作:
		update 表名 set 列名=值 [,...] where 条件;
		delete from 表名 where 条件;
		truncate [table] 表名;
		insert into 表名[字段列表] values(对应的值列表)[,(...)];
		select [distinct] {*|字段列表} from 表名 
			[xxx join 表名 on] 
			[where 条件]
			[group by 字段分组]
			[having 分组条件]
			[order by 排序字段]
			[limit a,b];
	事务:	
		show variables like 'event_scheduler';	#查看数据库对事务的支持
		set global event_scheduler=on;	#设置数据库支持事务
		#使用事务
		SET AUTOCOMMIT  = 0;	# 关闭自动提交模式
		START TRANSACTION		#开始一个事务,标记事务的起始点
		COMMIT					#提交一个事务给数据库 
		ROLLBACK				#将事务回滚,数据回到本次事务的初始状态 
		SET AUTOCOMMIT  = 1;    # 开启自动提交模式
	备份和恢复:
		musqldump [-h主机名] -u用户名 -p [options] 库名 [表名列表] > 文件路径;
		musql [-h主机名] -u用户名 -p 库名 < 文件路径;
		在命令行:source 文件路径;
	该表结束符:
		delimiter @@
	取消自动提交:
		set autocommit=0;
	恢复自动提交:
		set autocommit=1;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值