目录
order by 排序——默认升序(asc),降序(desc),出现在select语句末尾
-
对数据库的操作
-
访问MySQL数据库
mysql -u root -p
然后回车,输入密码
-
查看数据库
--查看所有数据库
show databases;
--查看某个数据库的定义
--show create database 数据库名称;
show create database product;
--查看当前使用的数据库
select database();
-
使用某个数据库
--use 数据库名称;
use product;
-
创建一个数据库
--create database 数据库名称;
create database users;
--create database 数据库名称 character set 编码
create database users character set 'utf8';
--create database 数据库名称 character set 编码 collate 校对规则;
create database users character set 'utf8' collate 'utf8_bin';
-
删除数据库
--drop database 数据库名称;
drop database users;
-
修改数据库
--alter database 数据库 character set 编码 collate 校对规则;
alter database product character set 'gbk';
-
对表的操作
-
创建表
/*
create table 表名(
字段1 类型(长度) 约束,
字段2 类型(长度) 约束,
字段3 类型(长度) 约束,
字段4 类型(长度) 约束
);
*/
create table users(
id int primary key auto_increment,
name varchar(20) unique not null,
gender bit not null,
birthday date not null
);
-
删除表
--drop table 表名;
drop table users;
-
查看表
--查看当前库中的所有表名
show tables;
--查看表的信息
--desc 表名;
desc product;
--查看建表语句和字符集
--show create table 表名;
show create table product;
-
修改表
--对表的修改
--修改表名
rename table 表名 to 新表名;
--修改表的字符集
alter table 表名 character set utf8;
--对表中字段的修改
--添加字段
alter table 表名 add 字段 类型(长度) 约束;
--删除字段
alter table 表名 drop 字段;
--修改字段名
alter table 表名 change 旧字段 新字段 类型(长度) 约束;
--修改某个字段的类型或约束
alter table 表名 modify 字段 类型(长度) 约束;
-
对数据的操作
-
添加数据
--方式1:插入所有字段
insert into 表名 values(值1,值2,值3...);
--方式2:字段与值对应
insert into 表名(字段1,字段2,字段3...) values (值1,值2,值3...);
-
删除数据
-
delete删除:一条一条删除
--删除表中所有记录
delete from 表名;
--根据字段的值删除
delete from user where username = '张三';
-
truncate删除:先删除表,再创建一个新的空表
--truncate删除整张表
truncate 表名;
-
修改数据
--修改所有记录的某字段的值
--update 表名 set 字段1 = 值1,字段2 = 值2...;
update user set salary = 5000;
--修改某条记录
--update 表名 set 字段1 = 值2,字段2 = 值2...where 字段3 = 值3;
update user set salary = salary + 1000,job = 'HR' where username = '张三';
-
查询数据
--查询表中的所有字段
select * from 表名;
--查询表中的某些字段
select 字段1,字段2,字段3... from 表名;
-
distinct去除重复数据
select distinct 字段 from 表名;
-
as设置别名
--使用别名表示学生分数
select name,(math+english+chinese) as sum from stu;
-
where条件过滤
常用符号:
- >、<、<=、>=、=、<>(不等于);
- in(值1,值2,值3 ... )——查询某字段的值为括号中的值的记录
- like——模糊查询
--%的用法
like '%赵'; 结果XXX赵
like '赵%'; 结果赵XXX
like '%赵%'; 只要有赵就行
-
order by 排序——默认升序(asc),降序(desc),出现在select语句末尾
--对学生成绩按照英语降序排序,英语成绩相同的按照数学降序排序
select * from stu order by english desc,math desc;
-
聚集函数
- count(字段名)——统计符合条件的记录个数
- sum(字段名)——求和
- avg(字段名)——求平均数
- max(字段名)——求最大值
- min(字段名)——求最小值
- group by——分组,此时条件过滤应该用having而不是where
--对订单表中商品归类后,显示每一类商品的总价.
select product,count(*),sum(price) from orders group by product;
--查询每类总价大于100的商品
select product,sum(price) from orders group by product having sum(price) > 100;
-
select语句的顺序
select ... from ... where ... group by... having... order by ... ;