##DATABASE 数据库:创建,删除,展示指定数据库
show databases;展示
create database hero;创建
drop database hero;删除
##TABLE 表格:创建,删除,展示指定表
show tables;展示
create table(
u_id int(4) auto_increment,
u_name varchar (20),
primary key(u_id)
)charset=utf8;创建
drop table user;删除
alter table user rename new_user;修改表名
##TABLE 修改,添加,删除(字段)
alter table user modify username varchar(30);在表内修改字段属性
alter user change email em varchar(32);在表内修改字段名字和属性
alter table user add age int(3);在表内添加字段
alter table user add email varchar(60) after password;在表的指定字段后添加新字段
alter table user add id int(20) first;在表的开头添加字段
alter table user drop age;在表内删除指定字段
##DATA 修改,添加,删除,查询(表内信息)
insert into hreo values;添加到表内信息(不指定字段)
insert into satr(name,money,age) values('赵',300,23);添加到表内信息(指定字段)
update star set age=31, money=1000 where id=1;修改表内的条件信息(搭配指针)
delete from star where id=2;删除表内添加的信息(搭配指针)
##SELECT 查询
select * from star;查询表格下的所有数据
select name,money,provice from hero;查询表格下指定字段的数据
select distinct province,sex from hero;
嵌套:
select * from user where gid in (1, 3, 5);
select * from user where gid in (select gid from goods);
##ORDER BY 结果集排序
asc:升序(默认方式) desc:降序
多字段排序,当前字段一样时按照后面字段进行排序
例:select * from hero order by u_age asc;
例:select * from star order by sex asc, age desc;
##LIMIT 限制结果集
select * from hero limit 5; 取结果集的前五条数据
select * from hero limit 5 offset 2;结果集偏移两条数据,取五条数据
select * from hero limit 2, 5;结果同上
##条件查询
>:大于; >=:大于等于; <:小于; <=:小于等于;
=:等于; !=或<>:不等于; and:并且; or:或者
[not]between m and n:不在区间[m,n]之间;
[not]in():不在指定集合中; [not]like 条件:模糊匹配,%表示任意字符
##聚合函数
count:统计个数 sum:求和 avg:平均值 max:最大值 min:最小值
##GROUP BY 分组及过滤
group by 是在对数据集的进行筛选
where 是对结果集进行聚集
having 是对筛选出的组再次进行过滤(条件中常包含聚合函数)
where 之后用 group by 之后用 having
例:select * from hero group by u_age;
例:select count(*) as c, province from star group by province having c>1
##事务处理
start transaction 开启事务
commit 提交事务
rollback 回滚操作
保障数据库安全出现数据的事务
1原子性,2一致性,3持久性,4隔离性(脏读,不可重复读,幻读/虚读)
##创建多表关系
FOREIGN KEY(o_buyer_id) REFERENCES s_user(u_id),
FOREIGN KEY(o_seller_id) REFERENCES s_user(u_id),
确定两个表的主外键,同时确定两个表的关系
alter table emp add constraint foreign key emp(deptno) references dept(deptno),修改表给表增加外键并和另一表的主键建立关系
##多表联合查询
隐式内连接
select username,name from user,goods where user.gid=goods.gid;
显示内连接 join 前可以添加inner或cross
select username,name from user join goods on user.gid=goods.gid;
左外连接
select username, name from user left [outer] join goods on user.gid=goods.gid;
右外连接
select username, name from user right [outer] join goods on user.gid=goods.gid;
MySql的SQL语句小结
最新推荐文章于 2021-02-05 03:18:08 发布