MySql学习笔记
丢丢diu丢
CSDN,做笔记用的……
展开
-
MySqlDay1_什么是表—SQL分类—DOS导入sql数据
1.SQL、DB、DBMS分别是什么,彼此之间什么关系?DB:(DataBase)数据库,数据库实际上再硬盘上以文件的形式存在。DBMS:(DataBase Management System)数据库管理系统,常见的有:MySql、Oracle、DB2、Sybase、SqlServer…SQL:(Structured Query Language)结构化查询语言,是一门标准化通用语言。标准的SQL适合于所有的数据库产品。SQL属于高级语言,它在执行时内部会先进行编译,然后执行SQL。(编译由DBMS原创 2020-10-06 12:23:19 · 186 阅读 · 1 评论 -
MySqlDay8——存储引擎、事务、索引、视图、DBA命令、数据库三范式
1.存储引擎(整个内容属于了解内容)1.1. 完整建表语句 CREATE TABLE `t_x` ( `id` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;注意:在MySQL当中,凡是标识符是可以使用飘号括起来的。最好别用,不通用。建表的时候可以指定存储引擎,也可以指定字符集‘mysql默认的存储引擎是InnoDB方式默认字符集是UTF-81.2.什么是存储引擎?这个名字只在mysql中存在。原创 2020-10-15 10:08:36 · 202 阅读 · 0 评论 -
MySql7——34道题目
1、取得每个部门最高薪水的人员名称a.取得每个部门最高薪水select max(sal) as ‘maxsal’,deptno from emp group by deptno;b.emp表与 a步骤的表,进行连接select e.ename,e.deptno,e.sal,t.maxsalfrom emp ejoin(select max(sal) as ‘maxsal’,deptno from emp group by deptno) tont.maxsal=e.sal;2.哪原创 2020-10-12 18:46:54 · 1207 阅读 · 0 评论 -
MySql7——当前时间 now() 、TIMESTAMPDIFF、DATEDIFF
0. now() 当前时间 select now();1.datediff函数返回值是相差的天数,不能定位到小时、分钟和秒。语法: select datediff('大的时间','小的时间')1.1. 相差6天 select datediff('2020-10-7 00:00:00', '2020-10-1 00:00:00'); select datediff('2020-10-7 00:00:00', '2020-10-1 23:59:59'原创 2020-10-11 19:56:30 · 1291 阅读 · 0 评论 -
MySql_Day6—给表加入约束——非空、唯一、主键、外键
1.约束种类a)非空约束,not nullb)唯一约束,uniquec)主键约束,primary keyd)外键约束,foreign keye)自定义检查约束,check(不建议使用)(在mysql中现在还不支持)2.非空约束,not null——针对某个字段,设置其值不为空设置表t_student中的name字段不为空 create table t_stu( no int(10), name varchar(20) not null, sex char(2) defaul原创 2020-10-08 22:45:43 · 1202 阅读 · 0 评论 -
MySql_Day5—where\from\select子查询—union用法—limit—表的创建、CRUD操作
1.子查询子查询就是嵌套的select语句,可以理解为子查询是一张表。1.1.where语句中的子查询1.查询员工信息,查询哪些人是管理者,要求显示出其员工编号和员工姓名 1.首先取得管理者的编号,去除重复的 select distinct mgr from emp where mgr is not null; 2.查询员工编号在”管理者编号“内的员工,即可 select empno,ename,job from emp where empno in (select原创 2020-10-08 20:34:00 · 526 阅读 · 0 评论 -
MySql_Day4—去重distinct—连接查询(内、外连接、多张表连接)
1.distinct关键字去除重复记录——distinct只能出现在所有字段的最前面select distinct job from emp; select distinct deptno,job from emp;统计岗位的数量? select count(distinct job) from emp;2.连接查询2.1.连接查询的分类SQL92:一些老的DBA可能还在使用这种语法。DBA:DataBase Administrator,数据库管理员原创 2020-10-06 20:23:07 · 886 阅读 · 1 评论 -
MySql_Day3—单行处理函数—分组函数/聚合函数/多行处理函数—分组查询(group by、having)
1.分组函数/聚合函数/多行处理函数注意:分组函数自动忽略空值,不需要手动的加where条件排除空值。select count(*) from emp where xxx; 符合条件的所有记录总数。select count(comm) from emp; comm这个字段中不为空的元素总数。注意:分组函数不能直接使用在where关键字后面。 错误:mysql> select ename,sal from emp where sal > avg(sal);原创 2020-10-06 17:47:24 · 478 阅读 · 1 评论 -
MySql_Day2—简单查询—条件查询(in、is、and、between … and、like)—排序(desc、asc)
1.简单查询语法格式: select 字段名1,字段名2,字段名3,… from 表名;注意 1.任何一条sql语句都必须以“;”结尾。 2.sql语句不分大小写。1.1.查询员工薪资 select ename,sal from emp;1.2.给查询结果的“列”重命名、中文字符处理——eg.查询员工年薪 select ename, sal * 12 as '年薪' from emp;注意:标准sql语句中要求字符串使用单引号括起来。虽然my原创 2020-10-06 16:44:26 · 681 阅读 · 1 评论