python热爱者

迄今为止,超完美的python数据库操作语句梳理!

2018-09-22  本文已影响0人  48e0a32026ae

[size=29.3333px]mysql数据库的基本操作。

[size=29.3333px]包括:DDL 和 DML 语句。

[size=29.3333px]其中,肯定会有点错误,特别是多表联合查询有错误,希望指正。

[size=29.3333px]因为我在word上写好的,试了几遍发表不理想,麻烦各位动动发财的小手点击关注,赞或者转发!

数据库操作语句梳理

1. DDL语句

DDL语句: DataBase Dfind Language,数据定义语句。

创建数据库:

语法:

CREATE DATABASE IF NOT EXISTS 数据库名称 DEFAULT CHARACTER SET 'utf8';

描述:创建一个数据库,如果名称存在不创建,不存在创建一个编码为utf8的数据库

案例:

修改数据库:

ALTER ADATABASE 数据库名称;

ALTER ADATABASE py1807a_test character set ‘GBK’;

删除数据库

DROP DATABASE [IF EXISTS] 数据库名称;

DROP DATABASE IF EXISTS py1807a_test;

选择数据库: use 数据库名称

查看当前所有数据库:show databases;

查看当前数据库所有数据表:show tables;

创建数据表

语法:

CREATE TABLE [IF NOT EXISTS] 表名(

Id INT [COMMENT ‘备注’]

)[default charset ‘utf8’];

描述:创建一个名字为dept编码为Utf8的数据表

案例:

表格重命名:alter table 表名 rename to 新表名

表格中修改列名称:alter table 表名 change column 旧列名 新列名 varchar(20)

删除一列:alter table 表名 drop column 列名;

增加一列:alter table 表名 add column 新列名 char(11);

删除数据表:drop table [if exists] 表名称;

2. DML语句

2.1. INSERT语句

语法:INSERT INTO 表名(值1,值2,…值n) VALUES(值1,值2,…值n);

描述:在数据表dept中添加一条完整的数据

案例:

2.2. UPDATE语句

语法:

UPDATE 表名 SET 列名= "新值" WHERE 条件。

描述:

修改id=7的darea的原有数据为大会议室

案例:

2.3. DELETE语句

语法:

DELETE FROM dept WHERE条件;

描述:

删除id = 8的整条数据。

案例:

2.4. SELECT语句

2.4.1. 全表查询

语法:

select * from 表名称;

描述:

查询指定表中的所有数据

案例:

2.4.2. 单条件查询(后面的案例私信小编,图片太多了!)

语法:

SELECT * FROM 表名 WHERE 条件;

描述:

查询一条ID=2 的数据

案例:

2.4.3. 多条件查询

语法:

SELECT * FROM 表名 WHERE id = 2 AND dname="研发七";

SELECT * FROM表名WHERE id = 1 OR dname="代表";

描述:

查找一个id=2并且dname= “研发七”的数据,

查找一个id =1 或者 dname=’代表’;

案例:

2.4.4. 比较查询

语法:

SELECT * FROM 表名 WHERE id <3(比较运算符条件);

描述:

查询id <3 的所有数据。

案例:

2.4.5. 模糊查询

语法:

SELECT * FROM 表名 WHERE 列名 LIKE "%数据%";

SELECT * FROM 表名 WHERE 列名 LIKE -数据-";

描述:

查询条件中的数据,只是查询数据的一部分~~通过一部分数据完成整体数据的匹配匹配过程,称为模糊匹配过程

%:匹配任意字符0~n个

_:匹配任意一个字符

案例“

2.4.6. 空值查询

语法;

select * from 表名称 where 条件 is null;

select * from 表名称 where 条件 is not null;

描述:

查询是否为空:

查询是否不为空:

案例:

2.4.7. 范围查询

语法:SELECT * FROM 表名 WHERE 列名 IN ("研发七","研发九");

描述:

手工指定多个数据,通过范围查询操作符号in,来指定条件取值范围

案例:

2.4.8. 区间查询

语法:SELECT * FROM 表名WHERE id BETWEEN 2 AND 5;

描述:

手工指定一个区间范围,包含起始数据和结束数据:between.. and ..

案例:

2.4.9. 排序查询

语法:select * from 表名 order by id desc/asc

描述:按照指定的列进行顺序或者降序的数据整理展示

案例:

2.4.10. 分页查询

语法:select * from 表名 limint m,n;

描述:每次取出3条数据,分三次取完

案例:

2.4.11. 聚合查询

语法:select avg(id)/count(1)/max(id)/min(id)/sum(id) form 表名;

描述:

l avg() 求取指定列的平均值

l count() 求取指定列的数据总数量

l max()求取指定列中数据的最大值

l min()求取指定列中数据的最小值

l sum()求取指定列中数据的和

案例:

2.4.12. 指定列查询

语法:select 列名 from 表名;

描述:查询 列名为id 和 dname 的数据

案例:

2.4.13. 查询数据踢重

语法:

select distinct 列名 from 表名

描述:对重复的数据进行清除

案例:

2.4.14. 分组查询

语法:select count(1),列名 from 表名 group by 列名;

select count(1),列名 from 表名 group by 列名 having darea is not null;

描述:

案例:

2.4.15. 多表联合查询—1.直接查询

语法:select * from 表1,表2;

描述:直接查看两张表格中的所有数据

案例:

2.4.16. 多表联合查询—2.关联查询

语法:

Select * from 表1,表2 where 表1.列名 = 表2.列名

描述:

通过两张表的关联数据,进行条件关联

案例:

多表联合查询—.表的别名设置

语法:

Select * from 表1 表1别名,表2 表2别名 where 表1.列名 = 表2.列名;

描述:

案例:

2.4.17. 多表联合查询—4.子查询

多行子查询:

Select * from 表名1

where 表名2 id in

(select id from 表名2 where dname in (“班委”,”常委”));

描述:????

案例:

单行子查询:

语法:SELECT * FROM 表2

WHERE id IN (SELECT id FROM 表1 WHERE 表2列名 = '研发七');

描述:

案例:

2.4.18. 多表联合查询—5.外连接

左外连接:

语法:

Select * from表1 表1别名 left join 表2 表2别名 on e.id = d.id

描述:???

案例:

右外连接:

语法:

SELECT * FROM 表1 表1别名 RIGHT JOIN 表2 表2别名ON e.id = d.id;

描述:

案例:

上一篇下一篇

猜你喜欢

热点阅读