SQL(Structred Query Language)结构化查询语言:和数据库交互的语言,进行数据库管理的语言。
Window+R打开运行输入cmd -> 输入 mysql -u root -p 回车 -> 输入密码 回车
一、数据库的操作:
1、查询所有数据库:
show databases;
2、创建数据库:
create database 数据库名 [default] character set 字符集编码(一般为utf8);
3、查看数据库创建语句:
show create database 数据库名;
4、删除数据库:
drop database 数据库名;
5、修改数据库(修改字符编码):
alter database 数据库名 default character set 新的字符集编码;
二、数据库中表的管理操作:(先选择数据库:use 数据库名)
1、查看所有表:
show tables;
2、创建表:
create table 表名(列名 列类型,列名 列类型,.....);
3、查看表结构:
desc 表名;
4、删除表:
drop table 表名;
5、修改表:
①、添加字段:
alter table 表名 add column 字段名 字段类型;
②、删除字段:
alter table 表名 drop column 字段名;
③、修改字段名称:
alter table 表名 change column 旧字段名 新字段名 字段类型;
④、修改字段类型:
alter table 表名 modify column 字段名 字段类型;
⑤、修改表名称:
alter table 旧表名 rename to 新表名;
三、表中数据的操作:
1、增加数据(依次):
insert into 表名 values (数据,......);
插入部分数据:
insert into 表名(字段名1,字段名2)values (数据1,数据2);
2、修改数据:
update 表名 set 字段名= 值,字段名=值 where 条件
3、删除数据:
delete from 表名 where 条件;
全表删除方式:
①、delete from 表名;(只删除数据,不能删除表的约束)
②、truncate table 表名;(即可以删除数据,又删除表的约束)
4、查询数据:
①、查询所有列:
select * from 表名;
②、查询指定列:
select 字段名,字段名,...from 表名;
③、查询时去除重复记录:
select distinct 字段名 from 表名;
④、条件查询:
select * from 表名 where 条件;
(null:表示没有值;is null
’‘:是空字符串,有值,但是值是空字符串; =’‘)
(模糊条件like: %:表示任意个字符;_ : 表示一个字符)
⑤、聚合查询:(count sum avg max min )
select count(*) from 表名;
⑥、分页查询:
select * from 表名 limit 起始行,查询几行;
⑦、查询排序:(asc 顺序,desc 倒序)
select * from 表名 order by 字段名 asc/desc;
⑧、分组查询并筛选:(按字段名分组并统计个数,然后按条件筛选)
select 字段名,count (*) from 表名 group by 字段名 having 条件;
5、连接查询(多表查询):
①、交叉连接(笛卡尔积)
select * from 表1 [cross] join 表2 ;
②、内连接:
select * from 表1 [inner] join 表2 on 表1.字段1=表2.字段2 where 条件 ;
③、左【外】连接:
select * from 表1 left [outer] join 表2 on 条件 ;
④、右【外】连接:
select * from 表1 right [outer] join 表2 on 条件 ;
6、子查询:(此条件通常关联到另外的一个表中)
select 字段名1 from 表名 where 字段名2(或者字段名1)in (条件);
7、联合查询(union):
select 语句1
union
select 语句2 ;