2018-11-09 SQL常用语句(一)

1.DDL操作

2018-11-09 SQL常用语句(一)_第1张图片
概要

(一)创建数据库

create database 数据库名  character set utf-8;

(二)创建表

create table stu
(
   性别               int(10),
   地址              varchar(50),
   姓名                varchar(50),
  联系电话          int(12)
);
2018-11-09 SQL常用语句(一)_第2张图片
image.png

(三)查询表的字段信息:

desc 表名;
2018-11-09 SQL常用语句(一)_第3张图片
image.png

(四)添加一列

注意varchar()必须要指定最大占多少个字节,不指定就会报错。
alter table 表名  add 列名 数据类型
2018-11-09 SQL常用语句(一)_第4张图片
image.png

(五)修改一个表的字段类型

alter table 表名 modify 字段名 数据类型;
2018-11-09 SQL常用语句(一)_第5张图片
image.png

(六)删除一列

alter table 表名 drop 列名;
2018-11-09 SQL常用语句(一)_第6张图片
image.png

(七)修改表名

rename table 表名 to 新表名;
2018-11-09 SQL常用语句(一)_第7张图片

(七)查看表的创建细节

show create table 表名;
2018-11-09 SQL常用语句(一)_第8张图片
image.png

(八)修改表的字符集

alter table 表名 character set 字符集名称
2018-11-09 SQL常用语句(一)_第9张图片
image.png

(九)修改表的列名

alter table 表名 change  原始列名 新列名 数据类型;
2018-11-09 SQL常用语句(一)_第10张图片
image.png

(十)删除表

drop table 表名;
2018-11-09 SQL常用语句(一)_第11张图片
image.png

(十一)在指定的列后面添加一列

alter table 表名 add (column) 列名 数据类型 after 指定列名;
2018-11-09 SQL常用语句(一)_第12张图片
image.png

(十二)在第一列添加列

alter table 表名 add (column) 列名 数据类型 first;
2018-11-09 SQL常用语句(一)_第13张图片
image.png

2.DML

(一)查询数据库表当中的所有信息

2018-11-09 SQL常用语句(一)_第14张图片
image.png

(二)往表当中插入一条记录

insert into 表名 (列名1,列名2.....)values(列值1,列值2....);
2018-11-09 SQL常用语句(一)_第15张图片
image.png

(三)往表当中批量添加记录

insert into 表名 (列名1,列名2...) values  (列值1,列值2...), (列值1,列值2...), (列值1,列值2...)...
2018-11-09 SQL常用语句(一)_第16张图片
image.png

(四)更新操作

update 表名 set 列名1=列值1,列名2=列值2...where 列名=值;
2018-11-09 SQL常用语句(一)_第17张图片
将所有学生的成绩改为90

2018-11-09 SQL常用语句(一)_第18张图片
将name是张三的学生的成绩改为60

2018-11-09 SQL常用语句(一)_第19张图片
将名字是李四的学生的age改为20,score改为70

2018-11-09 SQL常用语句(一)_第20张图片
将名字是娜美的学生的年龄+1

(五)修改用户密码

使用sql语句修改用户密码

**********************5.7之前**************************
update user set password=password("abc") where user='root';
**********************5.7之后**********************************
update user set authentication_string=password("12345") where user='root' and Host='localhost';
**************注意要刷新mysql的系统权限相关表******************
flush privileges;

使用mysqladmin命令来修改

*******************将用户密码修改为1234*************************
mysqladmin -u root -p password 1234;

(六)删除操作

delete from 表名 where 列名=列值;
2018-11-09 SQL常用语句(一)_第21张图片
image.png
*****************直接删除表,然后在创建一个同名的新表**********************
truncate table 表名
2018-11-09 SQL常用语句(一)_第22张图片
image.png
*************deldete与truncate的区别****************
deldete删除表当中的数据,表结构还在,删除后的数据可以找回
truncate删除是直接将表drop掉,然后在创建一个同样的新表,删除的数据不能找回,执行速度比delete快。

3.DQL

通过查询语句查询出来的数据是以表的形式展示给我们的,我们称这个表为虚拟结果集,存放在内存当中

查询返回的结果集是一张虚拟表

(一)条件查询运算符及关键字

2018-11-09 SQL常用语句(一)_第23张图片
屏幕快照 2019-03-22 下午9.14.33.png
1.查询ID是101,102,103的记录
select * from students where id=101 or id=102 or id=103;
select * from students where id in (101,102,103);
2018-11-09 SQL常用语句(一)_第24张图片
image.png
2. 查询name为null的记录
select * from students where name is null;
**************以下的查询方式是错误的****************
select * from students where name=null;
select * from students where name='null';
2018-11-09 SQL常用语句(一)_第25张图片
image.png
3.查询姓名不为null的记录
select * from students where name is  not null;
2018-11-09 SQL常用语句(一)_第26张图片
image.png
3.查询年龄在18到20 之间的学生记录
select * from students where age between 18 and 20;
select * from students where age>=18 and age<=20;
2018-11-09 SQL常用语句(一)_第27张图片
image.png

(二)模糊查询

like关键字后面跟通配符构成模糊查询

2018-11-09 SQL常用语句(一)_第28张图片
image.png
1.查询姓名由2个字符构成的记录
select * from students where name  like '__';
2018-11-09 SQL常用语句(一)_第29张图片
image.png

(三)字段控制查询

去除重复的字段
把查询字段的结果进行运算,必须都是数据类型
对查询结果起别名
1.去除重复的字段
*******************去除重复的字段使用distinct关键字*********************
select distinct age from students ;
2.对字段取别名
select *,age+score from students;
select *,ifnull(age,0)+ifnull(score,0) from students;
2018-11-09 SQL常用语句(一)_第30张图片
image.png
select *,ifnull(age,0)+ifnull(score,0) as total from students;
2018-11-09 SQL常用语句(一)_第31张图片
image.png

(四)排序

对查询出来的结果进行排序,使用关键字order by;
升序asc(默认):
降序desc:
***********按照薪水的升序,ID的降序排列*********************
select * from employee order by salary ,id desc;
2018-11-09 SQL常用语句(一)_第32张图片
image.png

(五)sql文件的导入导出

导出

2018-11-09 SQL常用语句(一)_第33张图片
image.png

一路按照提示操作下去即可

导入

点击数据库---->运行sql文件

2018-11-09 SQL常用语句(一)_第34张图片

一路按照提示操作即可

(六)聚合函数

2018-11-09 SQL常用语句(一)_第35张图片
image.png

(七)分组查询

2018-11-09 SQL常用语句(一)_第36张图片
image.png
1.先分组,分完组之后统计每一组的值。

将查询结果按照一个或者多个字段进行分组,字段值相同的为一组

select gender from employee group by gender;
2018-11-09 SQL常用语句(一)_第37张图片
select gender,group_concat(name) from employee group by gender;
2018-11-09 SQL常用语句(一)_第38张图片
image.png
*******************查询每个部门的部门名称和部门的工资总和**************
select department,group_concat(salary),sum(salary) from employee group by department;
2018-11-09 SQL常用语句(一)_第39张图片
image.png
2.group by +聚合函数
2018-11-09 SQL常用语句(一)_第40张图片
image.png
********************询每个部门的名称以及每个部门工资大雨1500的人数****************
select department,group_concat(salary) ,count(*)from employee where salary>1500  group by department;
2018-11-09 SQL常用语句(一)_第41张图片
image.png
3.group by+having
2018-11-09 SQL常用语句(一)_第42张图片
image.png

having主要用在group by的后面,将满足条件的删选出来

*******************询工资总和大于9000的部门名称****************
select department,sum(salary) from employee group by department having sum(salary)>=9000;
2018-11-09 SQL常用语句(一)_第43张图片
image.png
4.having与where的区别
2018-11-09 SQL常用语句(一)_第44张图片
image.png
*****************查询工资大于2000,工资总和大于6000的部门的名称以及工资和
***
select department,group_concat(salary),sum(salary) from employee where salary>2000 group by department  having sum(salary)>=9000;
2018-11-09 SQL常用语句(一)_第45张图片
image.png
5.SQl语句的书写顺序
2018-11-09 SQL常用语句(一)_第46张图片
image.png
6.SQL语句的执行顺序
image.png
7.limit
limit主要用来进行分页查询
limit(curPage-1)* pageSize,pageSize
2018-11-09 SQL常用语句(一)_第47张图片
image.png

2018-11-09 SQL常用语句(一)_第48张图片
image.png

你可能感兴趣的:(2018-11-09 SQL常用语句(一))