链接数据库:Mysql -uroot -pmysql或Mysql -uroot -p
退出数据库:exit、quit、Ctrl+d
查看所有数据库:show databases;
显示时间:select now();
显示版本:select version();
创建数据库:create database python04; create database python04new charset=utf8;
查看创建数据库的语句:show create database
数据库名;删除数据库:drop database 数据库名;
使用数据库:use 数据库名;
查询当前使用的数据库Select database();
显示当前数据库中所有的表:Show tables
创建表:create table 表名(id(字段) int(类型),name varchar(30));
查看表的结构:desc 表的名字 无符号:Unsigned Tinyint:范围0-255 数据表中插入一个数据;
insert into 表名 values(0,“aasa”,18,188.88,“男”,0)必须顺序插入 insert into 表名 values(null,“aasa”,18,188.88,“男”,0)
insert into 表名 values(default,“aasa”,18,188.88,“男”,0)会自动添加进表中 部分插入:
insert into 表名 (name,gender) values(“名字”,2);
一次性可以插入多行:insert into 表名 (name,gender) values(“名字”,2),(“名字”,“2”);
查看数据:select * from 表名Alter
更改表的结构添加表名:alter table 表名 add 列名 类型
修改表名:alter table 表名 modify 列名 类型
修改名字:alter table 表名 change 原名 列名 类型 枚举中的下标开始1对应的是“男”2对应的是“女”…一一对应Update
更改表的数据修改表中的数据:Update 表名 set 列1=值1,列2=值2 where id=…如果不加where条件全部都改
查询表中的信息:Select * from 表名 where … 查询表中的信息:Select name,gender from 表名 Select name as 姓名,gender as 性别 from 表名
物理删除(一般不用):delete from 表名;
整个数据表中的数据全部删除Delete from 表名 where … 逻辑删除(常用):添加一个字段:Alter table students add is_delete bit default 0;Update 表名 set is_delete=1 where 想要删除的数据的列名 模糊查询:——Like ——% 替换1个或者多个——_替换1个——查询姓名中 以 “小”开始的名字 Rlike 正则Select name … from 范围查询:in (1,3,5)表示一个非连续的范围内Not in 表示不非连续的范围之内Between … and … 表示在一个连续的范围内Not between … and … 表示一个非连续的范围内
空判断:Select * from判断空 is null判断非空 is not null
排序:Select * from使用 order by age等等 默认从小到大排序Order by age desc 默认从大到小排序
聚合函数:Count 计算总数Select count()from 表名 where 查询最大值Select max(age)from 表名; 查询总数Select sum(age)from 表名; 查询平均值avg Select avg(age)from 表名; 四舍五入Select round(avg(age),2)from 表名
分组:Group bySelect name count()from 表名 group by name;select gender,round(avg(age),2) from students group by gender;
分组出每一个性别的名字:select gender,group_concat(name) from students group by gender;
Having查看平均年龄超过多少岁的性别,以及姓名 having avg(age)>30将每一个性别的分组,显示每一个性别的名字的平均年龄select gender,group_concat(name),avg(age) from students group by gender having avg(age)<25
Where 是对原表进行条件 having是对查询出结果进行判断
分页:Limit:限制查询出来的数据个数查询两个数据:Select * from students where gender=1 limit 2;
表示从0这个下标开始一直到整个数据的个数:Select * from students where gender=1 limit 0,5 Limit(第n页-1)*每页显示的个数,
每页显示的个数 连接查询:Inner join…on内连接查询:查询的结果为两个表匹配到的数据Select s.name,c.name from students as s inner join classes as c on s.cls_id=c.id;Right join…on
右连接查询:查询结果为两个表匹配到的数据,右表特有的数据,
对于左表不存在的数据使用null填充Left join…on左连接查询:查询的结果为两个表匹配到的数据,左表特有的数据,对于右表中不存在的数据使用null填充外键可以限制数据的范围外键约束:
对数据的有效性进行验证关键字:foreign key,
只有innodb数据库引擎支持外键约束添加外键约束举例:alter table goods add foreign key (brand_id) references goods_brands(id);
子查询:查询语句中嵌套查询语句 先执行后面的select子语句 把子语句的结论当做前面的select语句的条件
sq
最新推荐文章于 2024-05-09 16:49:38 发布