文章目录
1.数据库的操作
1)显示当前数据库
show databases;
2)创建数据库
create database [数据库名];
3)删除数据库
drop database[数据库名];
4)选中数据库
use [数据库名];
2.数据表操作
1)查看数据表
show tabales;
2)创建数据表
create table [表名](列);
3)查看表结构
desc [表名];
4)删除表
drop table [表名];
3.数据的增删改查
1)数据的插入
insert into [表名](列名)
values(值);
(列名)内写的是哪些列就能够插入哪些列的值
2)数据的查找
a)全列查找
select *
from[表名];
b)指定列查找
select [列名]
from [表名];
c)带有表达式的查找
select [列名(可以含有表达式)]
from [表名];
eg:
select id,name,english+math+chinese from exam_result;
d)指定列取别名
select 列名 [as] 新列名
from [表名];
eg:
select id,math+chinese+english [as] total
from exam_result;
e)去重查询
指定单列查询:
select distinct (列名) from [表名];
指定多列查询:
select distinct (列名1),(列名2) from [表名];
注意:指定多列查询时,只有多行的每一列值都相等才可以去重
f )排序查询(order by)
升序排序
使用order by 排序时默认升序排列,显示加上asc 也是升序;
select (列名)
from [表名]
order by (列名) (asc);
降序排序
显示加上 desc降序排列;
select (列名)
from [表名]
order by (列名) desc;
按照多个列排序
当第一列的值排列无法区分大小时,再按照第二列顺序来排
select *
from [表名]
order by (列名1) desc,(列名2) desc,;
g)条件查询(where)
比较运算符:
运算符 | 说明 |
---|---|
>,>=,<,<= | 大于,大于等于,小于,小于等于 |
= | 等于,NULL不安全,eg:NULL=NULL结果是NULL |
<=> | 等于,NULL安全,eg:NULL<=>NULL结果是TRUE(1) |
!=,<> | 不等于 |
BETWEEN a0 AND a1 | 范围匹配,[a0,a1],如果a0<=values<=a1,返回值为TRUE(1) |
IN(option,…) | 如果是option中的任意一个,返回TRUE(1) |
IS NULL | 是 NULL |
IS NOT NULL | 不是NULL |
LIKE | 模糊匹配(%->任意多个字符,_->任意一个字符) |
逻辑运算符:
运算符 | 说明 |
---|---|
AND | 多个条件必须都为TRUE(1),结果才为TRUE(1) |
OR | 任意一个条件为TRUE(1),结果为TRUE(1) |
NOT | 条件为TRUE(1),结果为FALSE(0) |
注意:
1.WHERE 条件可以使用表达式,但不可以使用别名
2.AND的优先级高于OR,在使用的时候避免失误,尽量使用小括号包裹先执行的语句
3.对NULL无法进行加、减、乘、除操作
h)分页查询(limit)
--起始下标为 0
--从 0 开始,筛选 3 条记录
select 列名 from 表名 [where] [order by] limit n;
--从 6 开始,筛选 3 条记录
select 列名 from 表名 [where] [order by] limit 6,3;
--从 6 开始,筛选 3 条记录
select 列名 from 表名 [where] [order by] limit 3 offset 6;
eg:筛选总分前三的学生姓名
select name,chinese+math+english as total
from exam_result
order by total desc
limit 3;
查找结果:
3)数据的修改
update 表名
set 列名=值
where 筛选条件;
eg:
---总成绩倒数前三的同学数学成绩加上30分
update exam_result
set math = math + 30
order by chinese+math+english limit 3;
---将king同学的数学成绩变更为60分,语文成绩变更为70分
update exam_result
set math = 60, chinese = 70
where name = 'king';
4)删除操作
delete
from 表名;