mysql复习
请叫我卫卫
最怕你一生碌碌无为,还安慰自己平凡可贵
展开
-
mysql复习第二十天:锁
1、基础介绍: 计算机协调多个进程或线程并发访问某一资源的机制,锁可以对有限的资源进程保护,解决隔离和并发的矛盾; 2、分类: 对数据操作类型:读锁、写锁; 对数据操作的颗粒度分:行锁、表锁; 读锁(共享锁): 针对同一数据,多个读操作可以同时进行而不会相互影响; 写锁(排它锁): 当前写操作没有完成前,他会阻断其他写锁和读锁; 行锁: 偏向MySIAM引擎,开销小,...原创 2020-04-20 15:24:16 · 141 阅读 · 0 评论 -
mysql复习第十九天:索引(一)
1、基础介绍: 排好序的快速查找数据结构 2、索引分类: 1、单值索引:即一个索引包含单个列; 2、唯一索引:索引列的值必须唯一,但允许有空值; 3、复合索引:即一个索引包含多个列; 3、语法: 创建语法: CREATE [UNIQUE] INDEX indexName ON tableName(columnname(length)); ALTER tableNameADD [UNI...原创 2020-02-23 00:03:37 · 185 阅读 · 0 评论 -
mysql复习第十八天:存储过程
1、基础介绍: 一组预先编译好的sql语句集合;批处理语句 1.1、优点 1、提高代码的重用性; 2、简化操作; 3、减少了编译次数并且减少了数据库服务器的连接次数,提高了效率; 2、语法 1、创建语法 create procedure 存储过程名字(参数列表){ begin 存储过程体(一组合法的sql语句) end } 2.1、参数 1、参数列表包含3部分; 参数模式,参数名,...原创 2019-11-16 13:21:05 · 115 阅读 · 0 评论 -
mysql复习第十七天:视图
1、基础介绍 含义:虚拟表,和普通标一样使用 mysql5.1版本出现的新特性,是通过表动态生成的数据 只保存了sql逻辑,没有保存查询结果 2、视图的操作 2.1、创建视图 create view 视图名 as 查询语句; create view v1 as select s_name,s_sex from student; 2.2、使用视图 select 列名 from 视图名 w...原创 2019-11-12 12:56:48 · 120 阅读 · 0 评论 -
mysql复习第十六天:事务
1、什么是事务 一个或者多个sql语句组成一个执行单元,这个执行单元要么全部执行要么全部不执行; 举个例子 a转给b50元 从a减去50,然后b增加50; 在事务的支持下有2种结果 1、操作成功:a减少50,b增加50; 2、操作失败:a,b2个账号没有变化; 如果没有事务的支持,可能出现错:a账户减少了50,此时系统挂了,导致b账户没有加上50,而a账户凭空少了50; 2、事务的特点...原创 2019-10-24 10:13:08 · 142 阅读 · 0 评论 -
mysql复习第十五天:标识列
1、标识列(自增长列) 1、一个表只能有一个表示列; 2、表示列只能是数值型; 3、通过设置set auto_increment_increment来设置增长值(步长),可以通过插入来设置初始值; create table tab_identity( id int primary key auto_increment, name varchar(10) ); insert into t...原创 2019-10-18 10:33:59 · 99 阅读 · 0 评论 -
mysql复习第十四天:数据类型
1、常见约束 作用:表征表中的数据的准确性和可靠性 1.not null:非空; 2.default:默认值; 3.primary key:主键,唯一性,并且非空; 4.unique:唯一,可以为空; 5.check:检查约束(mysql不支持); 6.foreign kye:外键约束,保证该字段的值必须来自主表的关联列的值; create table test( id int primary...原创 2019-10-16 14:02:27 · 65 阅读 · 0 评论 -
mysql复习第十三天:数据类型
1、数值型 1.1、整型 tinyint[一个字节](有符号:-128127,无符号:0255), smallint[2个字节]:(有符号:-32768~32767,无符号:\0~65535), mediumint[3个字节], int[4个字节], integer[4个字节], bigint[8个字节]; 特点: 1、设置无符号的关键字:unsigned; 2、插入数据超过临界值,会报out ...原创 2019-10-14 11:07:55 · 103 阅读 · 0 评论 -
mysql复习第十二天:表和库的操作
1、数据库的创建和删除 创建: create database 库名; create database dt_test; 删除 drop database 库名; drop database dt_test; 2、操作表 2.1、创建表 create table if not exists 表名( 列名 数据类型 约束条件, 列名 数据类型 约束条件, … ); cre...原创 2019-10-12 10:06:41 · 82 阅读 · 0 评论 -
mysql复习第十一天:修改和删除
1、修改 update 表名 set 列=新值,列=新值,… where 条件; update class set classname='D班' where classid = 3; 2、删除 2.1、方式一: delete from 表名 where 条件; 没有where的情况下删除表中所有数据; delete from class where classid = 3; 2.2...原创 2019-10-11 14:29:15 · 82 阅读 · 0 评论 -
mysql复习第十天:插入语句
1、插入语句 1、插入的值的类型要与列的类型一致或兼容; 2、不可以为null的列必须插入值; 3、列数和值得个数必须一致; 4、可以省略列名,默认所有列,而且列的数据和表中列的顺序一致 2、方式一 insert into 表(列名,…) values(值1,…); INSERT INTO class(classname) VALUES('E班'); 3、方式二 insert in...原创 2019-10-10 09:47:19 · 195 阅读 · 0 评论 -
mysql复习第二天:单行函数
1、常用字符函数 查看字节编码 SHOW VARIABLES LIKE '%char%'; 获取字符串的自己长度 SELECT LENGTH('我是卫卫) AS a,LENGTH('111') AS b; UPPER:将字符串转成大写,LOWER:将字符串转成小写 SELECT UPPER('aaa') AS a,LOWER('AAA') AS b; substr 截取从...原创 2019-09-27 20:53:16 · 112 阅读 · 0 评论 -
mysql复习第三天:单行函数
1 、常用数学函数 round 四写五入,小数点保留指定位数 SELECT ROUND(1.65,2) AS a; ceil 向上取整,返回>=该参数的最小整数 SELECT CEIL(1.002) AS a; floor 向下取整,返回<=该参数的最大整数 SELECT FLOOR(-9.99) AS a; truncate 截断 SELECT TRUNC...原创 2019-09-27 21:25:09 · 104 阅读 · 0 评论 -
mysql复习第四天:单行函数
1、常用流程控制函数 if函数:if esle的效果 SELECT sname,IF(score>60,'及格了','没有及格') AS a FROM student; case 函数使用一: case 要判断的字段或者表达式 when 常量1 then 要显示的值或者语句; when 常量2 then 要显示的值或者语句; … else 要显示的的值n或者语句n end S...原创 2019-09-28 10:06:16 · 104 阅读 · 0 评论 -
mysql复习第四天:分组函数
1、分组函数 主要作用:统计使用; sum 求和,avg 平均值,min 最小值,max 最大值,count 计算个数; sum,avg一般用于处理数值型; 以上函数忽略null值; SELECT SUM(score) AS '总和', AVG(score) AS '平均值', MIN(score) AS '最小值', MAX(score) AS '最大值', COU...原创 2019-09-28 11:04:57 · 73 阅读 · 0 评论 -
mysql复习第五天:分组筛选
1、分组查询 group by 数据表: select 列名 from 表 group by 要分组的列名 SELECT MAX(score),s_sex,s_name FROM Student GROUP BY s_sex; select 分组函数,列(要求出现在group by的后面) from 表 [where 刷选条件] group by 分组列表 [order by 字...原创 2019-09-29 10:27:01 · 252 阅读 · 0 评论 -
mysql复习第六天:连接查询
数据表 student: class: score_level type 1、笛卡尔乘积现象 表1有m行,表2有n行,结果m*n行 SELECT * FROM student s,class c; 2、 内连接 等值连接 SELECT s.s_name,c.classname FROM student s,class c WHERE s.class_id = c.classi...原创 2019-09-30 11:06:29 · 86 阅读 · 0 评论 -
mysql复习第七天:连接查询2
1、sql语法 select 查询列表 from 表1 别名 [连接类型] join 表2 别名 on 连接条件 [where 筛选条件] [group by 分组] [having 筛选条件] [order by 排序列表] 2、分类 内连接:inner 外连接: 左外:left [outer] 右外:right [outer] 全外:full [outer] 交叉连接:cross 2....原创 2019-10-02 11:16:18 · 181 阅读 · 0 评论 -
mysql复习第八天:子查询
1、子查询 标量子查询(单行子查询) 列子查询(多行子查询) where后面 分数大于张三的 SELECT s_name,score FROM student WHERE score > (SELECT s.score FROM student s WHERE s.s_name = '张...原创 2019-10-08 14:45:32 · 83 阅读 · 0 评论 -
mysql复习第九天:分页查询和联合查询
1、分页查询 1.1、语法: select 查询列表 from 表 [join type join 表 on 连接条件] [where 查询条件] [group by 分组条件] [having 筛选条件] [order by 排序条件] limit [offset(起始索引),]size(要显示的条目个数) 获取前5条记录 SELECT * FROM student LIMIT 0...原创 2019-10-09 09:54:37 · 95 阅读 · 0 评论 -
mysql复习第一天
1、_符号 匹配任意单个字符 模版数据: 查询first_name第二个字符为t的数据 select first_name from table where first_name like '_t%'; 2、escape关键字 指定某个符号为转义符 查询first_name第二个字符为_的数据 select first_name from table where first_name ...原创 2019-08-21 22:16:45 · 67 阅读 · 0 评论