1 新建数据库:
Create database day17;
2 查看数据库
Show databases;
Show create database day17; 查询数据库的定义
3 切换需要操作的数据库:
Use day17;
Select database(); 查看当前操作的数据库
4 建表
create table users(
id int primary key auto_increment,
username varchar(20) unique not null,
password varchar(20) not null,
email varchar(40) not null
);
注意:1.使用小括号;
2.括号后面是分号;
3.每一行字段后面要有逗号,但是最后一行没有逗号。
5 查看表的信息
Desc user;
Show tables; 查看当前库中所有的表
6 删除表
Drop table user;
7 在表中添加数据
Insert into user values(null,’高利峰’,’123’,’123@qq.com’);
Inset into user values(NULL,'张三','123','123@qq.com');
INSERT INTO USER VALUES(NULL,'lisi','123','lisi@itcast.cn');
INSERT INTO USER VALUES(NULL,'liming','123','123@qq.com');
INSERT INTO USER VALUES(NULL,'wangwu','123','wangwu@itcast.cn');
注意:1. 在word中编辑好的代码复制到MySQL工具中,符号不能识别,所以会报错;
2. 在赋值时应当符合建表时的约束;
8 更新
update 表名 set 字段=值,字段=值... [where ]
注意:
* 如果没有where条件,默认更新所有的记录中的该字段。
* 有where提交,选择某一条记录。
9 删除表
delete from 表名 [where ];
如果没有where筛选条件则删除整个表
* truncate 表名; 删除所有的数据
注意:delete和 truncate 区别
* truncate 先删除整个表,然后建立同名空表;
* delete 逐条删除;
10 查询
Select * from 表名; 查询显示所有字段
select distinct字段名 from 表名; 去除重复的数据。
11 排序
使用order by 升序默认的(asc)/降序(desc)
* 出现select的语句末尾。
DESC 是descend 降序意思
asc 是ascend 升序的意思
12 分组
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语句: S-F-W-G-H-O 组合 select ... from ... where ... group by... having... order by ... ;
顺序不能改变
select sum(buynum) totalNum,products.* from products,orderitem
where product_id=products.id group by product_id order by totalNum desc;