随笔分类 -  sql

mysql学习
摘要:索引类型: 1.普通索引 最基本的索引,没有任何限制 创建方式: 删除索引: 2.唯一索引 类似普通索引,不同是:索引列必须唯一,单允许空值。如果是组合索引,则列值组合必须唯一创建方式: 删除索引 3.主键索引 特殊的唯一索引,一个表只能有一个主键,不允许有空值,一般在新建表的时候会同时创建主键索引 阅读全文
posted @ 2019-03-14 21:10 白莲花の 阅读(426) 评论(0) 推荐(0)
摘要:character set和collation的是什么? character set即字符集 我们常看到的UTF-8、GB2312、GB18030都是相互独立的character set。即对Unicode的一套编码。 那么如何理解Unicode与UTF-8、GB2312的区别呢? 打个比方,你眼前 阅读全文
posted @ 2019-03-13 20:52 白莲花の 阅读(332) 评论(0) 推荐(0)
摘要:普通锁1.使用普通锁保证数据一致性普通锁使用最多 (1)操作数据之前,锁住,实施互斥,不允许其他的并发任务操作; (2)操作完成后,释放锁,其他任务执行。 2.其他锁普通锁的问题是太粗暴,锁住后其他任务连‘读任务’也不能并行,相当于执行任务过程是串行的,于是有以下锁 (1)读-共享锁(Share L 阅读全文
posted @ 2019-02-14 20:32 白莲花の 阅读(168) 评论(0) 推荐(0)
摘要:MySQL内核 https://blog.csdn.net/baichoufei90/article/details/83504446 关键字:全文索引 索引外置 两种内核:MyISAM 和InnoDB 区别 1.count(*) MyISAM会存储总行数,InnoDB不会存储总行数,select 阅读全文
posted @ 2019-02-14 20:12 白莲花の 阅读(1257) 评论(0) 推荐(0)
摘要:--解决Lock wait timeout exceeded; try restarting transaction https://blog.csdn.net/wanderlustLee/article/details/79235005 阅读全文
posted @ 2018-10-12 11:16 白莲花の 阅读(241) 评论(0) 推荐(0)
摘要:设计表时使用BINARY CREATE TABLE user_info ( login_name VARCHAR(20) BINARY ); 查询时会自动区分大小写 查询时区分大小写 SELECT `name`,login_name FROM user_info WHERE BINARY login 阅读全文
posted @ 2018-05-05 16:59 白莲花の 阅读(509) 评论(0) 推荐(0)
摘要:locate(substr,str) 查找substr在str中第一次出现的位置,为空时返回0 SELECT login_name, LOCATE('ning',login_name) FROM user WHERE `login_name` ='liangningning'; locate(sub 阅读全文
posted @ 2018-05-03 09:16 白莲花の 阅读(844) 评论(0) 推荐(0)
摘要:保留两位小数 SELECT ROUND( 123456789.3563898,2),TRUNCATE(123456789.3563898,2),FORMAT(123456789.3563898,2); 类型转换函数 convert()和cast() CAST(value as type); CONV 阅读全文
posted @ 2018-05-03 08:37 白莲花の 阅读(565) 评论(0) 推荐(0)
摘要:SELECT school_code,`name`,phone from student WHERE login_name REGEXP 'ning$'LIMIT 10; concat() SELECT CONCAT(school_code,`name`) from student WHERE lo 阅读全文
posted @ 2018-05-02 18:24 白莲花の 阅读(540) 评论(0) 推荐(0)
摘要:修改字段: ALTER TABLE user_info CHANGE NAME name VARCHAR(10); 修改表名alter TABLE user_role RENAME user_info; 阅读全文
posted @ 2018-04-26 11:36 白莲花の 阅读(13883) 评论(0) 推荐(0)
摘要:having:用于筛选分组后的各组数据。聚合函数,和group by一起使用(where不能和聚合函数使用)group by放在order by前使用,放在之后报错SELECT user_id from user_role r GROUP BY r.user_id HAVING COUNT(r.ro 阅读全文
posted @ 2018-04-26 11:35 白莲花の 阅读(597) 评论(0) 推荐(0)
摘要:删除重复行 user_info: -- 单字段筛选重复行 SELECT *from user_info WHERE NAME in ( SELECT NAME from user_info GROUP BY NAME HAVING COUNT(NAME)>1); -- 删除重复行,保留id最小的数据 阅读全文
posted @ 2018-04-25 18:10 白莲花の 阅读(223) 评论(0) 推荐(0)
摘要:truncate DDL 不删除表结构,只删除表数据; 一次性删除所有行,不计入日志,无法回滚, 删除数据时等同于delete from table.(区别见下) truncate删除表时,索引和外键占用空间会回到初始化最小;不能触发触发器 delete DML 不删除表结构,只删除数据; 一行一行 阅读全文
posted @ 2018-04-25 16:31 白莲花の 阅读(152) 评论(0) 推荐(0)
摘要:表设计遵循三大范式 第一范式1NF单一属性,不能再分割(姓名和年龄不能存在一个字段)数据不能重复存在主键 第二范式2NF满足第一范式实体属性必须完全依赖主关键字 第三范式3NF属性不依赖非主属性 以下转自https://www.cnblogs.com/xinanheishao/p/4200676.h 阅读全文
posted @ 2018-04-25 13:43 白莲花の 阅读(268) 评论(0) 推荐(0)
摘要:SQL 约束:NOT NULL约束 - 确保列不能有NULL值默认值约束 default - 提供未指定时为列的值时的默认值唯一值约束 unique - 确保了在一列中的所有的值是唯一的主键 primary key - 唯一标识数据库表中的每一行/记录外键 foreign key - 唯一标识任何其 阅读全文
posted @ 2018-04-23 14:53 白莲花の 阅读(121) 评论(0) 推荐(0)
摘要:DDL – Data Definition Language数据定义语言DML – Data Manipulation Language数据操作语言DCL – Data Control Language数据控制语言TCL – Transaction Control Language sql命令分类: 阅读全文
posted @ 2018-04-23 14:51 白莲花の 阅读(87) 评论(0) 推荐(0)