MySQL
mysql的相关知识
yuezheyue123
这个作者很懒,什么都没留下…
展开
-
myql深度学习1
1、mysql的各个数据引擎区别使用show engines可以显示所有得支持存储引擎其中最常用的就是InnoDB:①具有提交、回滚和崩溃后恢复能力的事物安全②为处理巨大的数据量的最大性能设计,在cpu效率可能是其他的基于磁盘的数据库引擎不能匹敌的。常被用于众多需要高性能的大型数据库节点上。③支持外键的完整性约束具体的应用场景:①如果提供提交回滚和崩溃能力的食物安全,并要求实现并发控...原创 2020-09-11 17:47:59 · 139 阅读 · 0 评论 -
myql深度学习7-索引
1、将一个表的查询的结果插入到另一个表中insert into table_name1 (column_list1) select (column_list2) from table_name2 where (condition)2、索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可以提高数据库中特定的数据的查询速度。索引是一个单独的存储在磁盘上的数据库结构,包含的这对数据表的所...原创 2020-09-11 17:47:39 · 109 阅读 · 0 评论 -
myql深度学习14-查询缓存
mysql的性能优化方面经常涉及到缓冲区(buffer)和缓存(cache),mysql采用的缓冲池(buffer pool)的方式来缓冲数据和索引。如果表改变了,那么这个表的缓冲查询将不再有效,查询缓存值得相关条目就被清空。①开启查询缓存需要在my.ini中配置,直接使用mysql命令并不生效query_cache_type=on②查看缓存是否已经开启SELECT @@query_ca...原创 2020-02-07 20:46:09 · 314 阅读 · 0 评论 -
myql深度学习13-日志
1、启动慢查询日志,目的记录数据库超时的操作。可以进行以下设置:①慢查询日志默认是关闭的,需要开启慢查询set global slow_query_log = on②设置慢查询的界限时间,默认是10秒,现在设置为5秒set global long_query_time = 5③设置慢查询的日志的存放位置set global slow_query_log_file = ‘D:slow...原创 2020-02-07 20:00:49 · 158 阅读 · 0 评论 -
myql深度学习12-数据库备份
1、数据库备份,备份需要在mysql的安装目录bin中,通过cmd,输入命令mysqldump -h连接名 -u账户名 -p密码 数据库名 数据表名 > xxx.sql例如:①备份整个的test数据库mysqldump -hlocalhost -uroot -proot test > mysqltest1.sql②备份test数据库下的student表mysqldump...原创 2020-02-07 16:22:40 · 220 阅读 · 0 评论 -
myql深度学习11-创建触发器
触发器是有insert、update、delete事件进行触发某个操作,然后强制的执行其业务规则。对于同一个操作可以创建多个触发器。但是应该注意应该避免触发对本表的插入删除和修改操作,防止触发器无限循环执行。可以使用before insert 、after insert、before update,after delete等操作。1、创建单条执行语句触发器,这里的NEW代表的就是当前插入的记录...原创 2020-02-06 21:23:53 · 178 阅读 · 0 评论 -
myql深度学习10-变量和流程控制语句
1、变量:在存储过程体中定义的局部变量和会话变量是不同的。在会话变量前面必须加@符号,且会话变量的作用域是整个会话,存储过程体可以使用declare语句来定义局部变量,存储过程的参数也被认为是局部变量,对于局部变量的使用不能在前面添加@符号。在存储过程和存储函数中可以定义和使用变量。也就是在begin…end程序段中使用declare关键字,然后为变量进行赋值。声明变量declare xxx...原创 2020-02-06 19:35:32 · 126 阅读 · 0 评论 -
myql深度学习9-存储函数
1、存储函数和存储过程很类似创建存储函数,其中参数func_parameter的表现形式[in | out | inout param_name type]create function func_name ([func_parameter])returns type begin return(routine_body); end例如:create ...原创 2020-02-06 18:48:01 · 124 阅读 · 0 评论 -
myql深度学习8-存储过程
1、存储过程就是一条或多条sql语句的集合,可视为批处理文件,将常用或复杂的工作预先用sql语句写好并用一个指定的名称存储起来,这个过程经过编译和优化后存储在数据库服务器中。在mysql中使用create procedure或create function来创建 子程序,并且使用call进行调用子程序。2、创建存储过程,其中的proc_parameter可以选择参数列表的形式如下:[in |...原创 2020-02-06 17:35:58 · 122 阅读 · 0 评论 -
myql深度学习7-索引
1、将一个表的查询的结果插入到另一个表中insert into table_name1 (column_list1) select (column_list2) from table_name2 where (condition)2、索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可以提高数据库中特定的数据的查询速度。索引是一个单独的存储在磁盘上的数据库结构,包含的这对数据表的所...原创 2020-02-06 16:09:18 · 227 阅读 · 0 评论 -
myql深度学习6-查询
1、创建分组group by使用having配合group by使用,是对分组后的限制条件,注意having是表示的对一组数据限定,不能等同于where例如:按照deptId进行分组,并且判断这一组的个数大于1select GROUP_CONCAT(name),deptId from teacher group by deptId HAVING COUNT(name)>12、连接...原创 2020-02-05 19:17:34 · 106 阅读 · 0 评论 -
myql深度学习5-常用函数
1、正则运算符REGEXP①^:表示以什么字符开头②$:表示以什么字符结尾③.:匹配任何一个单字符④[…]:匹配方括号内的任何字符,比如[abc]匹配a、b、c。[a-z]匹配任意的字母⑤*:匹配零个或多个在他面前的字符。比如x表示的任意多个,[0-9]匹配任意数量的数字,"."匹配任意数量的字符例如:SELECT * from price where name REGEXP '^r...原创 2020-02-05 17:24:02 · 118 阅读 · 0 评论 -
myql深度学习4-数据类型
1、数值类型对于float double decimal中的M表示的是显示的宽度,D表示的小数位。如果插入的数据的小数位超过规定的小数位,那么久会进行四舍五入的处理。例如create table tablename ( price1 float(5,1), price2 double(5,1), total decimal(5,1)) 2、日期类型3、字符串类型varc...原创 2020-02-05 15:57:10 · 184 阅读 · 0 评论 -
myql深度学习3-视图
1、视图被定义后就存储在数据库中,与其相对应的数据并没有像表那样在数据库中再存储一份,通过视图看到的数据只是存放在基本表中的数据。通过视图修改数据时,相应的基本表的数据也要发生变化,同时基本表的数据发生变化,这种变化也自动的反应到视图中。2、使用视图的优势:将经常使用的SQL查询语句定义为视图,可以有效的避免代码重复,减少工作量。用视图封装sql语句,能减少直接操作数据表发生的一系列错误。并且...原创 2020-02-05 11:19:59 · 203 阅读 · 0 评论 -
myql深度学习2-修改数据表
1、修改数据表名alter table department rename dept2、修改字段数据类型alter table xxx modify 字段名 字段类型alter table student modify sex varchar(1)3、修改字段名alter table xxx change 旧字段名 新字段名 新字段类型4、添加字段alter table...原创 2020-02-05 10:24:49 · 143 阅读 · 0 评论 -
myql深度学习1-数据引擎和约束
1、mysql的各个数据引擎区别使用show engines可以显示所有得支持存储引擎其中最常用的就是InnoDB:①具有提交、回滚和崩溃后恢复能力的事物安全②为处理巨大的数据量的最大性能设计,在cpu效率可能是其他的基于磁盘的数据库引擎不能匹敌的。常被用于众多需要高性能的大型数据库节点上。③支持外键的完整性约束具体的应用场景:①如果提供提交回滚和崩溃能力的食...原创 2020-02-05 08:50:24 · 116 阅读 · 0 评论 -
mysql2
1.使用concat()进行拼接select concat(id,"====",name) from user 2.使用as进行起别名 3.可以使用+ - * /进行算数运算 4,这里的索引都是从1开始left(name,2) 返回name的前两个字符right(name,2) 返回name的后两个字符locate("zha",name) 找出子...原创 2018-12-20 16:50:23 · 107 阅读 · 0 评论 -
mysql3
1.所有的表的连接都有where连接,但是可以使用其他的进行代替等值连接,基于两个表之间的相等测试,这种连接也称为内部连接。使用inner join... on ... 其中inner join连接两个表,使用on和where的条件相同select * from user inner join student on user.sid = student.sid 2.使用...原创 2018-12-21 09:48:44 · 102 阅读 · 0 评论 -
mysql4
1.插入如果是将所有的字段都插入,那么就直接使用,如果没有具体的数值也可以用null进行代替。insert into teacher values(8,"啦啦","嗯嗯",8) 对于有限的字段就使用insert into teacher (name,address,sid) values("啦啦2","来了",9) 对于insert和update和delete语句,可以...原创 2018-12-21 11:26:02 · 196 阅读 · 0 评论 -
mysql5
1.使用视图的有点重用sql简化sql操作保护数据。 创建视图,这样其实就把查询的结果都放在视图上了,然后以后直接使用就可以了。但是视图本身没有数据,如果更新视图,那么基表就会发生改变。create view testview as select * from teacher显示创建视图的语句show create view testview删除视图d...原创 2018-12-21 14:59:13 · 118 阅读 · 0 评论 -
mysql6
触发器,是遇到delete insert update操作语句会自动执行一条mysql语句。 ①insert触发器在这里使用select语句必须使用into,因为在触发器中不允许返回结果集。其中NEW代表的当前插入的一行数据。DELIMITER // create trigger neworder after insert on teacherfor each row...原创 2018-12-21 16:44:45 · 158 阅读 · 0 评论 -
mysql7
1.事务rollback是在start transaction之后执行。可以用来管理insert update delete语句。但是不能回退create和drop操作。commit语句只有在不出错的情况进行更改。在sql语句中可以使用savepoint name;这样保留回退点。如果要回退的时候,可以使用rollback to name,保留点会在事务处理完成(执行rollbac...原创 2018-12-21 18:14:54 · 180 阅读 · 0 评论 -
mysql1
1.# 表示限制取数据的条数select name from user where name="zhazha" limit 1 # 表示从第2行开始,最多一条select name from user where name="zhazha" limit 2,1 2.# 首先是按照name排序,然后按照id进行排序,默认是升序select * from user orde...原创 2018-12-20 14:57:21 · 106 阅读 · 0 评论