第二十一课:数据库:MYSQL,语句分类

@TOC@TOC

MYSQL

常见的数据库有MySQL Oracle SQLServer MariaDB DB2
特点是:持久化,内存数据
数据库类型有两种:关系型数据库:SQLite、Oracle、mysql
非关系型数据库:MongoDb、redis、HBase ——>大数据背景
SQL:每条语句以分号结束
SQL 中不区分⼤⼩写,关键字中认为⼤写和⼩写是⼀样的
注释:
hhhh-- 注释内容 单⾏注释(- -后必须加空格)
/* 注释内容 */ 多⾏注释
hh # 注释内容 这是MySQL特有的注释⽅式
查看当前数据库的字符集–show variables like ‘%char%’;
查看当前服务器中有哪些库–show databases;
– performance_schema: 数据库引擎相关
– sys: 数据库的配置相关
– mysql: 存储数据库中的登录用户等信息

SQL语句分类

Data Definition Language (DDL 数据定义语⾔), 如:建库,建表
create database 数据库名;
create database if not exists 数据库名;//判断数据库是否已经存在,不存在则创建数据库
create database 数据库名 character set 字符集;//创建数据库并指定字符集,例如gbk
show databases;//-- 查看所有的数据库
show create database db3;//-- 查看某个数据库的定义信息
alter database 数据库名 default character set 字符集;//修改数据库默认的字符集
alter database db3 character set utf8;//-- 将db3数据库的字符集改成utf8
drop database db2; //删除当前数据库
select database();//查看正在使⽤的数据库
use 数据库名;//使⽤/切换数据库
Data Manipulation Language(DML 数据操纵语⾔),如:对表中的记录操作增删改
insert into 表名 values (值 1, 值 2, 值 3…);//插⼊全部字段,不写字段名,顺序必须一致
insert into student (id,name,age,sex) values (1, ‘孙悟空’, 20, ‘男’);//向学⽣表中,插⼊部分列
insert into user values(3, ‘张三’, 18),(4, ‘张三’, 19);//支持批量插入数据注意事项
1、插⼊的数据应与字段的数据类型相同
2、数据的⼤⼩应在列的规定范围内,例如:不能将⼀个⻓度为 80 的字符串加⼊到⻓度为 40的列中。
3、在 values 中列出的数据位置必须与被加⼊的列的排列位置相对应。在 mysql 中可以使⽤value,但不建议使⽤,功能与 values 相同。
4、字符和日期型数据应包含在单引号中。MySQL 中也可以使⽤双引号做为分隔符。
5、不指定列或使⽤ null,表示插⼊空值。
delete from user; – 删除所有-挨个记录删除
truncate table user;-- 删除表中所有记录 - DDL - 删除表,然后重新创建
delete from user where id = 1 or id is null;-- 条件删除
set sql_safe_updatas = 0;//修改数据库安全模式,然后再进行update和delete操作
update user set name = ‘李四’;//更新表中所有的记录
update user set name = ‘李四’ where name = ‘张三’;//有条件的更新 where
Data Query Language(DQL 数据查询语⾔),如:对表中的查询操作
select * from emp;-- 1.查询所有记录 * 会自动解析为所有字段名,解析效率较低
select empno as ‘编号’,ename ‘姓名’,sal,job,hiredate '入职时间’from emp;–as可以省略
select distinct deptno from emp;-- 在emp表中查询都有哪些部门号 – 去除重复
select ename, sal from emp order by sal desc-- 升序-默认 asc,倒叙-desc
select ename, sal from emp order by sal desc-- 升序-默认 asc,倒叙-desc

普通函数- 方言 ,字符串相关,数学相关,时间相关
select ceil(1.34);
select month(now());
select concat(‘ha’,‘he’);
select concat(ename,’,’,job) out_put from dept;
select ifnull(“hello”, 20);

聚合函数–出来的是单行单列的结果,使⽤聚合函数查询是纵向查询,它是 对⼀列的值进⾏计算,然后返回⼀个结果值。聚合函数会忽略空值 NULL
select ifnull(id, 0) from student;
select count(*) from emp;
select max(sal) from emp;
select sum(sal) from emp;
select (max(sal)-min(sal)) DIFFERENCE from emp;
分组:GROUP BY 将分组字段结果中相同内容作为⼀组,并且返回每组的第⼀条数据

你可能感兴趣的:(第二十一课:数据库:MYSQL,语句分类)