
mysql
mysql基础知识
CF_S
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
mysql----case when then
mysql中的case when then 语句类似于其他编程中的if/else if/else。基本语法如下:case when...then... when...then... when...then... elseend比赛年份和结果表create table scores( date_year int, win_loss varchar(5));数据insert into scoresvalue(2005,'loss'),(2006,'win'),(200原创 2020-05-09 11:07:08 · 341 阅读 · 0 评论 -
mysql-----in和exists order by小结
in和exists 语句结果是一样的,但是使用时要遵循小表驱动大表的原则。order by原创 2020-05-03 15:49:21 · 388 阅读 · 2 评论 -
mysql----如何在使用like %xxx% 的情况下避免索引失效
背景:当在某列建立索引,并且在查询条件中使用like '%xxx%' 这样的语句时,会使得索引失效。当时实际的环境必须使用 like '%xxx%' 这样的条件,那么应该如何解决这个问题。答:使用覆盖索引避免这个问题。即:在要查询的列和其他的列之间建立一个复合索引,然后查询时同时查询和复合索引有关的列即可避免全表扫描。create table user_info( id i...原创 2020-05-03 09:50:11 · 2463 阅读 · 1 评论 -
mysql----索引优化(2)
索引失效:建了索引,但是查询时没有用到。 staffs表: create table staffs( id int primary key auto_increment, name varchar(24) not null default '' comment '姓名', age int not null default 0 comm...原创 2020-02-23 15:42:54 · 101 阅读 · 0 评论 -
mysql----索引优化(1)
索引优化案例分析 单表: create table if not exists article( id int unsigned not null primary key auto_increment, author_id int unsigned not null, category_id int u...原创 2020-02-23 10:53:56 · 275 阅读 · 0 评论 -
mysql-----性能,explain的结果
mysql> explain select * from a,b where a.a_id = b.a_id;+----+-------------+-------+------------+--------+---------------+---------+---------+----------------+------+----------+-------------+| id ...原创 2020-02-22 15:30:49 · 130 阅读 · 0 评论 -
mysql----数据导出、导入
命令导入导出mysql> desc salaryClass;+------------+------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+------------+------------+------+-----+------...原创 2020-01-17 11:45:38 · 184 阅读 · 0 评论 -
mysql ----事务的隔离级别
详见https://baijiahao.baidu.com/s?id=1629344395894429251&wfr=spider&for=pchttps://blog.youkuaiyun.com/xinzhongtianxia/article/details/80993855原创 2020-01-10 17:16:35 · 147 阅读 · 0 评论 -
mysql---多表查询,连接
多表查询分为:合并结果集、连接查询、子查询 合并结果集:将两个select的结果显示到一起 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!要求表之间的列数,数据类型必须一致!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!...原创 2019-12-20 21:45:50 · 160 阅读 · 0 评论 -
mysql----event不执行
mysql事件多用于周期性地执行一些语句,例如每天.....,是一种很方便的机制,但是最近工作中发现linux环境下,改了系统时间后有些事件便不再执行了。后经过在ubuntu16.04+mysql5.7.29环境下多次复现得到如下结论:修改系统时间会影响一些事件的执行情况; 如果改后的时间被当前系统时间大、晚,则事件调度不受影响; 如果改后的时间被当前系统时间小、早,则事件...原创 2020-03-29 14:35:30 · 450 阅读 · 0 评论 -
mysql-----锁
mysql锁:是为了防止多用户操作同一块数据出现问题的机制(1)按照锁的类型可以分为读锁、写锁(2)按照锁的细粒度分可以分为表锁、行锁create table mylock( id int not null primary key auto_increment, name varchar(20))engine myisam;insert into mylock(nam...原创 2020-03-09 16:19:21 · 102 阅读 · 0 评论 -
mysql ----show profile
show profile: 是mysql提供可以用来分析当前会话中语句执行的资源消耗的情况,可以用于sql的调优的测量。 默认状态下参数处于关闭状态,并保存最近15次的运行结果。 mysql> show variables like '%profil%'; +------------------------+-------+ | Var...原创 2020-03-04 21:30:00 · 218 阅读 · 0 评论 -
mysql----order by优化
order by:create table test04( id int primary key auto_increment, c1 char(10), c2 char(10), c3 char(10), c4 char(10), c5 char(10)); insert into test04(c1,c2,c3,c4,c5)va...原创 2020-03-01 19:53:36 · 159 阅读 · 0 评论 -
mysql----7种join
mysql的连接细分共有七种,分别是:内连接(A B共有):select <1,2>from Ainner join Bon A.key = B.key;left join(A独有+A,B共有):select <1,2>from Aleft join Bon A.key = B.key;right join(B独有+A,B共有):...原创 2020-02-17 21:31:13 · 196 阅读 · 0 评论 -
mysql---事件
mysql事件: 类似于Linux的cron功能,能很方便地实现定期运行指定命令。mysql自身的事件调度器(event scheduler)在时间上能够精确到秒。 查看事件调度器是否开启,如果未开启使用SET GLOBAL event_scheduler = 1将其开启。 mysql> show variables like '%event%'; ...原创 2020-02-07 14:39:14 · 236 阅读 · 0 评论 -
mysql----查询注意点
具体的优化方法: exist和in: 如果主查询的数据集大,使用in, select tname from teacher where tid in(x,y,z); 如果子查询的数据集大,使用exist,select tname from teacher where exist(select * from teacher); order by:...原创 2020-02-04 12:48:21 · 181 阅读 · 0 评论 -
mysql---触发器
触发器: 概念:一种存储过程,与普通存储过程的区别是不需要显示地调用,而是通过事件触发后而被主动执行的。 作用:在写入数据前强制检测或者转化数据保证数据的安全; 触发器发生错误时,前面用户已经执行的操作会被撤销,类似于事务的回滚。 创建触发器的语法:delimiter $$create trigger 触发器...原创 2020-01-30 14:14:56 · 201 阅读 · 0 评论 -
mysql----索引
索引: 优势:在数据表中有海量数据时能帮助快速查询记录。 劣势:索引本身也是一张表,占用磁盘空间,当进行update insert delete操作时耗时更长,因为需要维护索引表 索引的分类: 单值索引:依赖单个列建立的索引,一张表可以有多个单值索引; 唯一索引:索引列的值必须唯一,允许出现NULL 复合索引:...原创 2020-01-05 16:58:25 · 118 阅读 · 0 评论 -
mysql---自定义函数
自定义函数 除了count()等内置函数外,可以创建一个适合自己需求的函数。 创建函数: delimiter // create function 函数名(参数名 类型) returns 返回值类型 begin 内部实现 end delimit...原创 2020-01-05 15:51:31 · 256 阅读 · 0 评论 -
mysql---存储过程
存储过程: 定义:一组可编程的函数,是试了完成特定的功能的sql的集合; 特点:将复杂的操作封装起来,简化对sql的调用; 批量处理; 方便使用; 存储过程的创建和调用: 注意:系统默认每条sql语句以;结尾,“delimiter 符合”表示修改sql的结束符号。因为存储过程中有多条sql语句,因此需要先修改结束符,...原创 2020-01-05 14:13:30 · 141 阅读 · 0 评论 -
mysql----视图
视图:虚拟的表,一般来说是select的结果 视图的特性: (1)是对若干表的一个引用,是一个虚表,存的是查询语句执行的结果。 (2)不存储具体的数据,但是基表的数据改变,视图的数据也会跟着变。 (3)具有和表一样的操作,可进行增删改查,但是有条件限制。 视图的作用: 提高安全性:如提供给一些用户一些表的若干字段的访问权限...原创 2019-12-29 16:01:22 · 133 阅读 · 0 评论 -
mysql----用户、权限
权限:限制用户能够进行的数据库的操作。 create drop alter update delete insert select create view:创建视图 index:索引权限 execute:执行存储过程的权限 用户: 创建用户:create user 'usr_name'@'localhost' indentified by '密...原创 2019-12-29 14:08:58 · 303 阅读 · 0 评论 -
mysql----事务
事务:一组不可分割的操作,要么全做要么全不做。每一条sql语句就是一个事务,事务只对DML语句生效,即更新、插入、删除操作等。 事务的ACID:原子性、一致性、隔离性、持久性 注意:mysql的事务默认是已经开启的,如果要进行自己的事务操作,需要按一定的流程操作。 创建两张表,张三的账户和李四的账户,模拟转账流程。 create table zs_acco...原创 2019-12-29 13:08:22 · 173 阅读 · 0 评论 -
mysql----常用函数
常用函数: 按功能分类为:字符串函数、数值函数、日期时间函数、流程函数、其他函数 字符串函数: concat(s1,2,...sn):字符串拼接,任何字符串与null连接都是null insert(str,x,y,instr):将str的x开始的y个字符换成instr sele...原创 2019-12-22 20:45:10 · 175 阅读 · 0 评论 -
mysql----子查询
子查询:一个select语句中包含另一个select语句,其中第二个select语句可以跟在where或者from后面。 where后:把select后的结果当作另一个select的条件值; from后:把查询的结果当作一个新的表 ...原创 2019-12-22 19:27:00 · 140 阅读 · 0 评论 -
mysql---多表查询
多表查询 表与表之间关系:一对一、一对多、多对多 实际使用过程中很少遇到一对一的关系,基本都是一对多、多对多的关系。 一对多的表,例如:一个人可以有多辆汽车,这种情况下就是创建一张人信息表,创建一张汽车表,其中汽车表通过外键形式与人表关联; create table Person( per_id bigint...原创 2019-12-20 20:08:22 · 175 阅读 · 0 评论 -
mysql---DQL
DQL:数据库查询语言(查询出来的都是虚拟结果集,存在内存里) 条件查询where,后面可跟 =,!=,<>,<,>,<=,>= between.. and..(在范围内) in(集合) is null,is not null and,or,not ...原创 2019-12-15 20:09:28 · 162 阅读 · 0 评论 -
mysql---DDL
DDL:数据库定义语言 create database db_name character set utf8; alter database db_name character set gbk; alter database db_name charset=utf8; desc t_name 查看表结构 create table stude...原创 2019-12-15 15:17:43 · 135 阅读 · 0 评论 -
mysql
目前的数据库: oracle DB2 myql SQL Server术语 表:固定的列和若干个行 列:字段 行:记录row 数据库:表的集合 主键:能够唯一区分某一行 外键:关联多个表 索引:帮助快速查询记录mysql 关系型数据库:行,列形式存储 非关系型:key-value存...原创 2019-12-15 15:14:59 · 111 阅读 · 0 评论