MYSQL(一)SQL语句的分类DQL、DML、DDL、DCL概念详解代码实现、计算函数、时间函数、字符串函数

一、MySql简介

1.1 简介

  1. MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
  2. 设置编码格式:alter database ‘数据库名’ character set ‘设置的格式’;

1.2 SQL语句的分类:DQL、DML、DDL、DCL 概念

  1. 数据查询DQL:是由SELECT、FROM、WHERE 组成的查询块
  2. 数据操纵DML:由INSERT、UPDATE、DELETE
  3. 数据定义DDL:如CREATE,ALTER(对表和列的操作)
  4. 数据控制DCL:如COMMIT(提交)、ROLLBACK(回滚)

二、SQL语句详解

2.1 DDL 语句类型

2.1.1 DDL对表的操作

1、创建表
create  table   student(
     sid  int(11),
     sname varchar(20),
     sex  char(2),
     sage  int(4),
     sbirthday date
  );
2、修改表名
alter table student rename to students;
3、删除表
drop table students;
4、查看表结构
desc table students;

2.1.2 DDL对列的操作

1、在尾部增加列
alter table students add spwd varchar(20);
2、在指定的列后增加列
alter table students add hobbey varchar(20) after sname;
3、修改列的数据类型
alter table students modify sex varchar(20);
4、修改列名
alter table students change hobbey scalssno varchar(11);
5、删除列
alter table students drop sclassno;

2.2 DML 语句类型

2.2.1 DML 增加数据

1、第一种方式
insert into students values(1,'小明','男');
2、第二种方式
insert into students(sid,sname,sex) values(2,'小李','女');
3、插入多条数据
insert into students values(1,'小明','男'),(1,'小明','男');
insert into students(sid,sname,sex) values(2,'小李','女'),(2,'小李','女');

2.2.2 DML 修改数据

1update students set sname = '小红',sex  = '男' where sid = 1;

2.2.3 DML 删除数据

1、删除表数据,表结构不删除,一条一条删除效率低下
delete from students where sid = 1;

2、删除整个表数据和表结构
truncate table students;

3、删除效率 drop>truncate>delete
drop 删除整个表,定义表信息等索引删除
truncate以整个页面删除数据,保留定义表信息、表结构、索引等。
delete每一行进行删除,留定义表信息、表结构、索引等
插入时truncate从初始位置进行插入,delete从上次保留位置插入

2.3 DQL 语句类型

1、条件查询or||in
select *from students where sid in (1,3);

2、非空查询 is not null,is null
select *from students where sid is null;

3、模糊查询 like '%_'
select *from students where sname like '%数';

4、排序(desc降序,asc升序)
select *from students sid order by sid desc;
//根据sid desc降序排序,如果sid相同则以sname升序排序
select *from students sid order by sid desc,sname asc; 

5、分页查询limit 初始索引,页量;
select *from students limit 0,2;
//计算公式
select *from students limit (currenPage-1)*pageSize,pageSize;

6、分组查询(group by)
select count(*),sid from students group by sid;
过滤  having关键字

7、去重  distinct
select distinct sid from students;

8、查询每个员工的总薪资
select empno,sum(sal+ifnull(comm,0)) as '总薪资' from emp group by empno;

三、MYSQL中的函数

3.1 聚合函数(计算)

  1. 在这里插入图片描述

3.2 关于时间的函数

  1. 在这里插入图片描述

3.3 关于字符串函数

  1. 在这里插入图片描述

版权声明:本文为weixin_45800201原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。