
mysql学习日记
文章平均质量分 51
惜玉冰
这个作者很懒,什么都没留下…
展开
-
Mysql学习日记:L28-数据库设计三范式
什么是数据库设计范式设计库表的设计依据,教你怎么进行数据库表的设计。一、数据库设计三范式数据库设计范式有3个第一范式:要求任何一张表必须有主键,每一个字段原子性不可再分。第二范式:建立在第一范式基础之上,要求所有非主键字段完全依赖主键,不要产生部分依赖第三范式:建立在第二范式基础之上,要求所有非主键字段直接依赖主键,不要产生传递依赖设计数据库的时候,按照以上的范式进行,可以避免表中数据的冗余,空间的浪费。二、第一范式最核心,最重要的范式,所有表的设计都需要满足,必须有原创 2021-10-15 21:56:36 · 115 阅读 · 0 评论 -
Mysql学习日记:L27-DBA的命令
目录一、数据导出二、数据导入增删改查又叫CRUDDBA命令重点掌握数据的导入和导出(数据的备份)一、数据导出注意:在Windows的dos命令窗口中mysqldump bjpowernode>D:\bjpowernode.sql -uroot -p123456可以导出指定的表吗?mysqldump bjpowernode emp>D:\bjpowernode.sql -uroot -p123456二、数据导入注意:需要登录到mysql服务器上。原创 2021-10-15 20:10:18 · 107 阅读 · 0 评论 -
Mysql学习日记:L26-视图
一、视图视图(view):站在不同的角度去看待同一份数据。二、视图的创建与删除表复制:create view dept2as select * from dept;2.1 创建视图对象create view dept2_view as select * from dept2;2.1.1 创建多表关联的视图对象 create view emp_dept_view as selec...原创 2021-10-15 19:50:47 · 227 阅读 · 0 评论 -
Mysql学习日记:L25-索引
一、索引(index)索引实在数据库表中的字段上添加的,是为了提高查询效率存在的一种机制。一张表的一个字段可以添加一个索引,多个字段联合起来也可以添加索引。索引相当于一本书的目录,是为了缩小扫描范围而存在的一种机制。对于一本字典来说,查找某个汉字有两种方式。第一种:一页一页挨着找,直到找到为止,这种查找方式属于全字典扫描,效率比较低。第二种:通过目录(索引)去定位一个大概的位置,然后直接定位到这个位置,做局域性扫描,缩小扫描的范围,快速的查找。这种查找方式属于通过索引检索,效率较高。例:原创 2021-10-15 13:12:11 · 149 阅读 · 0 评论 -
Mysql学习日记:L24-事务
一、事务概述一个事务就是一个完整的业务逻辑。什么是完整的业务逻辑?假设转账,从A账户转账10000元到B账户。将A账户的钱减去10000,(相当于update语句)将B账户的前加上10000,(也相当于update语句)这就是一个完整的业务逻辑。不可再分以上的操作是一个最小的工作单元,要么同时成功,要么同时失败,不可再分。这两个update语句要求必须同时成功或者同时失败,这样才能保证钱是正确的。二、和事务有关的DML语句只有DML语句才有事务这一说,其他语句和事务无原创 2021-10-13 23:17:48 · 110 阅读 · 0 评论 -
Mysql学习日记:L23-存储引擎
存储引擎是mysql特有的术语存储引擎是一个表存储/组织数据的方式。不同的存储引擎,表存储数据的方式不同。如何给表添加/指定存储引擎呢?show create table t_student;原创 2021-10-12 22:16:28 · 90 阅读 · 0 评论 -
Mysql学习日记:L22-约束
一、约束概述约束:constraint在创建表的时候,我们可以给表中的字段添加一些约束,来保证数据的完整性、有效性。约束的作用就是保证数据有效。二、常见的约束1.1 非空约束:not nullnot null 约束的字段不能为null在以上测试中not null 约束的是name字段,而在第三条数据的插入中并没有name,所以报错。1.2 唯一性约束:uniqueunique约束的字段不能重复但是可以为null上图unique约束的字段为name,所以na..原创 2021-10-11 21:50:12 · 126 阅读 · 0 评论 -
Mysql学习日记:L21-update、delete(DML)
一、修改数据update语法格式:update 表名 set 字段名1=值1,字段名2=值2……where 条件;注意:如果没有条件限制,会将所有数据全部更新。二、删除数据delete语法格式:delete from 表名 where 条件;注意:如果没有条件,整张表的数据都会被删除...原创 2021-10-10 18:08:14 · 158 阅读 · 0 评论 -
Mysql学习日记:L20-insert(DML)
一、insert语法格式语法格式:insert into 表名(字段名1,字段名2,字段名3……) values (值1,值2,值3);注意:①字段名和值要一一对应,数量要对应,数值类型也要对应。insert into t_student (no,name,age,email) values(1,'zhangsan',18,'zhangsan@qq.com');②当只给一个字段指定值时,那么必然会多一条记录,如果没有给其他字段指定值,默认值时null③insert语句中字段...原创 2021-10-08 11:05:11 · 573 阅读 · 0 评论 -
Mysql学习日记:L19-表的创建及数据类型(DDL)
建表的语法格式:(建表属于DDL,DDL包括:create,drop,alter)create table 表名(字段名1,数据类型,字段名2,数据类型,字段名3,数据类型);表名:建议命名时以t_或者tbl_开始,可读性强数据类型:varchar:可变长度的字符串,比较智能,节省空间,会根据实际的长度动态分配空间优点:节省空间缺点:需要动态分布空间,速度慢char:定长字符串,不管实际的数据长度是多少,分配固定长度的空间去存储数据优点:不需要动态分布空间,速度快缺点:在原创 2021-10-03 14:55:36 · 446 阅读 · 0 评论 -
Mysql学习日记:L18-limit、分页查询
一、limit的使用limit是将查询结果集的一部分取出来,通常使用在分页查询中例如百度默认一页显示十条结果分页的作用是提高用户的体验,因为如果将数据一次性取出,观看体验差,所以要一页一页翻着看limit用法:例:按照薪资降序,取出排名前五的员工limit有两种用法①limit 5:取前5②limit StartIndex,length:startindex是起始下标,从0开始,length是长度limit 在 order by之后执行取出工资排名在...原创 2021-10-02 22:57:21 · 182 阅读 · 0 评论 -
Mysql学习日记:L17-union合并查询
例:查询工作岗位是salesman和manager的员工union的效率更高一点。对于表连接来说,每连接一次新表,则匹配的次数满足笛卡尔积,次数会成倍的翻但是union可以减少匹配的次数,在减少匹配的次数同时,还可以完成两个结果集的拼接a连接b连接ca,b,c各十条记录利用表连接:10*10*10 --> 1000次union连接:a连接b-->100a连接c-->100用union相加:100+100=200union使用时的注意.原创 2021-10-02 20:55:48 · 154 阅读 · 0 评论 -
Mysql学习日记:L16-子查询
目录前言一、where子句中的子查询二、from子句中的子查询三、select子句中的子查询前言子查询:在select语句中嵌套select语句,被嵌套的select语句称为子查询子查询可以出现的位置:select……(select)from……(select)where……(select)一、where子句中的子查询例:找出比最低工资高的员工姓名和工资思路:①先找出最低工资是多少mysql> select min(sal) ..原创 2021-10-02 20:34:17 · 194 阅读 · 0 评论 -
Mysql学习日记:L15-三张表连接
多表连接格式:selectfrom ajoin bon a和b的连接条件join con a和c的连接条件join don a和d的连接条件找出每个员工的部门名称及工资等级,要求显示员工名,部门名,工资,工资等级找出每个员工的部门名称及工资等级,还有上级领导,要求显示员工名,领导名,部门名,工资,工资等级...原创 2021-10-02 18:24:05 · 130 阅读 · 0 评论 -
Mysql学习日记:L14.2-外连接
内连接特点:完成能够匹配上这个条件的数据查询出来(A和B连接,AB两张表没有主次关系,是平等的)而外连接要查询出主表的所有数据右外连接:right代表将join关键字右边的这张表看成主表,主要是为了将这张表的数据全部查询出来,顺带着关联查询emp(左边的)表在外连接中,两张表连接产生了主次关系带有right的就是右外连接,又叫右连接,任何一个右连接都有左连接的写法带有left的就是左外连接,又叫左连接,任何一个左连接都有右连接的写法例:查询每个员工的上级领导,要求显示所有员工..原创 2021-10-02 13:49:36 · 73 阅读 · 0 评论 -
Mysql学习日记:L14.1-内连接
条件是等量关系,所以称为等值连接。d查询每个部门员工所在的部门名称,显示员工名和部门名。SQL92语法:(老语法)selectename,dnamefromemp e,dept dwheree.deptno=d.deptno;缺点:表的结构不清晰,表的连接条件和后面进一步要添加的筛选条件都放在了where后面。SQL99语法:(新语法)selectename,dnamefrom...原创 2021-10-01 17:55:06 · 251 阅读 · 0 评论 -
Mysql学习日记:L14-连接查询
当从一张表中查询数据时,叫做单表查询。在emp表和dept表中联合起来查询数据,,从emp表中取员工名字,从dept表中取部门名字,这种跨表查询,多张表联合起来查询数据叫做连接查询。根据表的连接方式分类:内连接:等值连接;非等值连接;自连接外连接:左外连接(左连接);右外连接(右连接)全连接:不讲...原创 2021-09-30 22:40:49 · 137 阅读 · 0 评论 -
Mysql学习日记:L13-distinct关键字
distinct:把查询结果去除重复记录distinct关键字必须用在所有字段之前,表示将两个字段联合起来去重,相当于distinct(job,deptno)例:统计工作岗位的数量原创 2021-09-30 22:28:19 · 90 阅读 · 0 评论 -
Mysql学习日记:L12-单表查询总结
关键字写入顺序:select…from…where…group by…having…order by…关键字执行顺序:from where group by having select order by先从某张表中查询数据,先经过where条件筛选出有价值的数据,进而进行分组,分组之后用having继续筛选,select查询,最后order by 排序输出。例:找出每个岗位的平均薪资,要求显示平均薪资大于1500的,除manager岗位之外,要求按...原创 2021-09-30 22:10:36 · 315 阅读 · 0 评论 -
Mysql学习日记:L11-分组查询
分组查询:先对数据进行分组,然后对每一组的数据进行操作格式:select……from……group by……至今为止所有的关键字的执行顺序from……where……group by……select……order by……例1:求每个工作岗位的工资和。思路:先进行分组,再进行求和注意:在一条select语句当中,如果有group by语句的话,select后面只能跟:参加分组的字段,以及分组函数,其他的一律不能跟。例2:找出每个部门,不同工作岗位的最高薪资.原创 2021-09-30 21:18:11 · 113 阅读 · 0 评论 -
Mysql学习日记:P10-分组函数
目录注意count函数sum函数avg函数max函数min函数又称多行处理函数特点:输入多行,输出一行注意①分组函数在使用的时候必须进行分组,然后才能使用。如果没有对数据进行分组,则整张表默认为一组。②分组函数会自动忽略null,不需要对null进行任何处理③分组函数不能直接用在where子句中④所有的分组函数可以组合起来一起用select sum(sal),min(sal),max(sal),count(sal),avg(sal)from emp..原创 2021-09-29 21:02:03 · 117 阅读 · 0 评论 -
Mysql学习日记:L9-单行处理函数
目录前言loweruppersubstrconcat函数length函数trim函数round函数rand函数ifnullcase…when…then…when…then…else…end前言数据处理函数又叫单行处理函数,特点是一个输入对应一个输出多行处理函数:多个输入对应一个输出常见单行处理函数:lower转换小写 用法:select lower(ename) from emp;upper转换大写substr取子...原创 2021-09-29 20:29:23 · 110 阅读 · 0 评论 -
Mysql学习日记:L8-排序
一、单字段排序order by 字段名:以该字段排序,默认以升序排序如果想降序排序,在字段名之后加desc二、多个字段排序例:查询员工的名字和薪资,薪资升序排序,如果薪资一样,按名字升序排序select ename,sal from emp order by sal,ename;只有在sal相等时,才会启用ename进行排序三、按照字段位置排序select ename,sal from emp order by 1;四、练习题语句执行顺序...原创 2021-09-29 14:12:44 · 90 阅读 · 0 评论 -
Mysql学习日记:L7-条件查询
目录一、条件查询二、格式三、条件一、条件查询不是将表中所有数据都查询出来,而是查询出符合条件的数据。二、格式select 字段1,字段2…… from 表名 where 条件;三、条件= 等于(可以等于字符串,记得加单引号)特别注意!!!在数据库中null不能使用=进行衡量,需要使用is null,因为null代表空白,什么也没有,不是一个值,反之为 not null!= 或<>不等于> 大于 < 小于 >...原创 2021-09-28 22:01:57 · 93 阅读 · 0 评论 -
Mysql学习日记:L6-列参与数学运算
字段可以使用数学表达式例:将工资乘以12;修改别名为年薪:如果是中文,记得添加单引号原创 2021-09-28 19:51:57 · 105 阅读 · 0 评论 -
Mysql学习日记:L5-字段的查询(DQL)
一、查询单个字段select 字段名 from 表名;select和from为关键字,字段名和表明为标识符。例:从emp表中查找员工名字二、查询多个字段使用逗号分隔例:从dept表中查询部门编号和部门名select 部门编号,部门名 from 表名;三、查询所有字段方法①:把每个字段都写上(用这种方法)方法②:select * from 表名;(不用,效率低,可读性差)四、给查询的列起别名select 字段1,字段2as 别名from 表;...原创 2021-09-28 19:44:01 · 125 阅读 · 0 评论 -
Mysql学习日记:P3-sql语句分类
sql语句有很多种DQL:数据查询语言(带有select关键字的都是查询语句)DML:数据操作语言(对表中数据进行增删改的都是DML)insert 增 delete 删 update改DDL:数据定义语言(对表的结构进行增删改)凡是带有create、drop、alter的都是DDLcreate:新建drop:删除alter:修改TCL:事务控制语言包括:事务提交(commit)、事务回滚(rollback)DCL:数据控制语言授权(grant)...原创 2021-09-28 11:40:32 · 121 阅读 · 0 评论 -
Mysql学习日记:P2-表的理解
数据库最基本的单元是表:table数据库中是以表格的形式来表示数据的表中有行有列行(row):被称为数据/记录列(column):被称为字段每一个字段(列)都有:字段名、数据类型、约束等属性字段名就是一个名字数据类型:字符串、日期、数字等约束:约束有很多类型,其中一个叫唯一性约束,在添加约束后,该字段中的数据不能重复...原创 2021-09-27 22:35:02 · 77 阅读 · 0 评论 -
Mysql学习日记:p1-常用命令
目录一、查看mysql中有哪些数据库二、使用数据库三、创建数据库四、退出数据库一、查看mysql中有哪些数据库show databases;(以分号结尾)mysql默认自带了四个数据库二、使用数据库use test;三、创建数据库create database bjpowernode;四、退出数据库exit...原创 2021-09-27 16:54:10 · 137 阅读 · 0 评论