Python学习 Day9

MySQL

1、数据类型

常用数据类型如下: 整型:int ,bit 小数:decimal 字符串:varchar,char 日期时间:date,time,datetime 枚举类型(enum)

数据类型说明: 1、decimal表示浮点数,如decimal(5,2)表示总共存5位数,小数占2位 2、char表示固定长度的字符串,如char(3),如果填充ab时会补一个空格为‘ab ',3表示字符数 3、varchar表示可变长度的字符串,如varchar(3),填充'ab'时就会存储'ab',3表示字符数 4、对于图片、音频、视频等文件,不存储在数据库中,而是上传到某个服务器,然后在表中存储这个文件的保存记录 5、字符串 text 表示存储大文本,当字符大于4000时推荐使用

2、数据约束

约束是指数据在数据类型限定的基础上增加的要求,常见的约束如下: 1、主键 primary key :物理上的存储顺序,MySQL建议所有表的主键字段都叫id,类型为int unsigned 2、非空 not null :此字段不允许填写空值 3、唯一 unique :此字段的值不允许重复 4、默认 default :当不填写字段对应的值会使用默认值,如果填写时已填写为准 5、外键 foreign key :对关系字段进行约束,当为关系字段填写值时,会关联到的表中查询此值是否存在,如果存在则填写成功,不存在则填写失败并抛出异常

3、数据库操作的SQL语句

1、查看所有数据库

show databases;

2、创建数据库

creat database 数据库名 charset=utf8;

3、使用数据库

use 数据库名;

4、查看当前使用的数据库

select database();

5、删除数据库

drop database 数据库名;

4、表结构操作的SQL语句

1、查看当前数据库中所有表

show tables;

2、创建表

image.png

说明: creat table 表名( 字段名称 数据类型 可选的约束条件, column1 datatype contrai, ...... );

3、修改表-添加字段

alter table 表名 add 列名 类型 约束;

4、修改表-修改字段类型

alter table 表名 modify 列名 类型 约束; 注意:modify只能修改字段类型或约束,不能修改字段名

5、修改表-修改字段名和字段类型

alter table 表名 change 原名 新名 类型及约束; 注意;change:既能对字段重命名又能对字段类型及约束进行修改

6、删除字段名

alter table 表名 drop 列名;

7、查看当前表结构:

desc 表名;

8、查看创表sql语句

show creat table 表名;

9、产看创库SQL语句

show creat database 数据库名;

10、删除表

drop table 表名;

5、表数据操作的SQL语句

1、查询数据

1.1、查询所有列

select * from 表名;

1.2、查询指定列

select 列1,列2...from 表名;

2、添加数据

2.1、全列插入:

值的顺序与表结构字段的顺序完全一一对应 insert into 表名 values(...);

2.2、部分列插入:

值的顺序与给出的列顺序对应 insert into 表名 (列1,...) vales(值1,...);

2.3、全行多列插入

insert into 表名 values(...),(...);

2.4、部分列多行插入

insert into 表名(列1,...) vales(值1,...),(值1,...)...;

说明:主键列时自动增长,但是在全列插入时需要占位,通常使用空值(0或者null或者default) 在全列插入时,如果字段有默认值可以使用dafault来占位,插入后的数据就是之前设置的默认值

3、修改数据

update 表名 set 列1=值1,列2=值2,...where 条件;

4、删除数据

delete from 表名 where 条件;

以上删除是物理删除,无法恢复

6、as和distinct关键字

1、as关键字

1.1、使用as给字段起别名

select id as 序号,name as 名字,gender as 性别 from student; as 可以省略

1.2、可以通过as给表起别名

如果是单表查询 可以省略别名 select id,name,gender from student;

表名.字段名 select student.id,student.name,student.gender from student;

可以通过as 给表起别名 select s.id,s.name,s.gender from student as s;

2、distinct关键字

distinct可以去除重复数据行 select distinct 列1,列2,...from 表名

7、where条件查询语句

where 语句查询语法格式如下: select * from 表名 where 条件

1、比较运算符

等于=
大于>
大于等于>=
小于<
小于等于<=
不等于!= 或 <>

2、逻辑运算符

and 两个条件都满足 or 两个条件中有一个满足 not 对条件查询到的结果取反

3、范围查询

1、between...and:表示在一个连续的范围内查询 2、in 表示在一个非连续的范围内查询

4、模糊查询

1、like是模糊查询关键字 2、%表示任意多个任意字符 3、_表示一个任意字符

select * from student where name like '黄%'; select * from student where name like '黄_'; select * from student where name like '黄__';

5、空判断查询

1、判断为空使用:is null 2、判断非空使用:is not null 不能使用 =null 或者 !=null

8、排序

排序查询语法: select * from 表名 order by 列1 asc|desc ,列2 asc|desc,... 说明: 1、先按照列1进行排序,如果列1的值相同,则按照列2进行排序,以此类推 2、asc 从小到大排序,即升序 3、desc 从大到小排序,即降序 4、默认按照列值从小到大排列(即asc关键字)

9、分页查询

语法: select * from 表名 (where 条件) limit start,count

说明: limit 是分页查询关键字 start 表示开始行索引,默认为0 count 表示查询条数

获取第n页数据的SQL语句 select * from 表名 limit (n-1)*m,m 其中n表示页数,m表示每页的条数

10、聚合函数

聚合函数又叫组函数,通常是对表中的数据进行统计和计算,一般结合分组(group by)来使用,用于统计和计算分组数据,聚合函数不对空值进行统计

常用的聚合函数: count(col):表示求指定列的总行数 max(col):表示求指定列的最大值 min(col):表示求指定列的最小值 sum(col):表示求指定列的和 avg(col):表示求指定列的平均值

col 指 列名

1、求总行数

一般如果要是指定列名,那么就是主键字段 select count(id) from student; 一般使用 select count(*) from student;

2、求最大值

select max(id) from student;

3、求和

select sum(height) from student where gender = '男';

4、求平均值

select avg(height) from student where gender = '男'; ifnull函数:表示判断指定字段的值是否为null,如果为空使用自己提供的值 select avg(ifnull(height,0)) from student where gender = '男';

11、分组查询

分组查询就是将查询结果按照指定字段进行分组,字段中的数据相等的分为一组 语法为: GROUP BY 列名 HAVING 条件表达式 WiTH ROLLUP 说明: 列名:是指按照指定字段的值进行分组 HAVING 条件表达式:用于过滤分组后的数据 WITH ROLLUP :在所有记录的最后加上一条记录,显示select 查询时聚合函数的统计和计算结果

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
下载 APP