数据库- MySQL的SQL语句总结

1 SQL的分类

数据库定义:create  drop alter 

数据操作:insert update delete truncate 

数据控制:grant revoke while if...else

数据查询:select from where group by having order by

2 数据库操作

2.1创建数据库

create database <database>;
create database <database> charactor set <charsetype>;
create database <database> charactor set <charsetype> collate <校对规则>;

2.2 查看数据库

desc <database>;
show databases;
show create database <database>;
select database();    //查看当前使用的数据库

2.3 修改数据库

alter database <database> charactor set <charactortype>;

2.5 删除数据库

drop database <database>;

2.6 切换数据库

use <database>;

3 表操作

3.1 创建表

create table <table> (
	col-1 datatype 约束,
	col-2 datatype 约束,
	col-3 datatype 约束
) character set <charset> collate <校对规则>;

datatype:
	int char varchar boolean double float date time datatime blob text bit
约束:primary key unique not null

3.2 查看表

show tables;
show create table <table>;

3.3 修改表

rename table <table> to <new-table>;

alter table <table> add <col-name> <datatype> <约束>;
alter table <table> modify <col-name> <datatype> <约束>;
alter table <table> change <col-name> <new-col-name> <datatype> <约束>;
alter table <table> character set <charset>;
alter table <table> drop <col-name>;

3.4 删除表

drop table <table>;			//清空表中的数据及表结构
truncate table <table>;   	//清空表中的数据

4 数据CRUD语句

4.1 insert

insert into <table> (col-1,col-2,...) values (value-1,value-2,...);

//当插入的数据为全列数据时,可以省略col
insert into <table> values(value-1,value-2,...);

4.2 update

update <table> set col-1=expr1,col-2=expr2,... where ...;
example:
update employee set salary=5000;
update employee set salary=3000 where name='zs';
update employee set salary=4000,job=ccc where name='ls';
update employee set salary=salary+1000 where name='wu';

4.3 delete

delete from <table> where...;
example:
delete from employee where name='zs';
drop table <table>;
truncate table <table>;

4.4 select

select [distinct] <*> from <table> where...;
example:
select * from student;
select sname,score from student;
select distinct * from student;

select from where group by having order by...;

4.5 函数

select count(column) from <table> where...;
example:
select count(sid) from student;
select count(sid) from student where math > 90;

select sum(column) from <table> where...;
example:
select sum(math) from student;
select sum(math),sum(chinese),sum(english) from student;

select avg(column),avg(column),avg(column)... from <table> where...;
select avg(math) from student;

select <col-1,col-2,...> from <table> group by <column> having...;

5 进阶内容

5.1 外键约束

alter table <table> add foreign key <table>(column) refrences <table>(column);

5.2 建表原则

多对多:建立一张中间表,将多对多的关系拆分成一对多的关系,中间表至少要有2个外键分别指向原来的两张表;

一对一:将两张表合并成一张表;或者将两张表建立链接,让两张表的主键相同;或者当做是一对多的情况进行处理;拆表操作——将常用信息和不常用信息拆分出来

一对多:在多的一方添加一个外键指向一的一方;

5.3 多表查询

内连接:查出两个表中的交集数据 inner join ... on

左外连接:查出左表中的所有数据,右表中没有对应数据则用null填充

右外连接:和左外连接相反 right outer join .. on..

分页查询:limit(起始索引,每页显示几条数据)

子查询:select ...from ... where... (select ... from... where...);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鬼刺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值