DDL语句
查看所有数据库: showdatabases;
创建数据库: create database 数据库名;
create database bank;
create database first;
删除数据库: drop database 数据库名;
drop database bank;
创建表: create table 表名;
create table stu(userid int,stuname varchar);
create table manager(userid int,password varchar);;
查看当前数据库所有表名:show tables;
删除表:drop table 表名;
drop table manager;
修改列名:alter table 表名 change 原列名 新列名 列类型;
alter table stu change stuname username varchar;
修改表名称:alter table 原表名 rename to 新表名;
alter table stu rename to user;
DML语句
插入数据:insert into 表名(列名1,列名2,…) values(值1,值2,…);
inter into user(userid,username) values(1001,’张三’);
inter into user(userid,username) values(1002,’李四’);
insert into 表名 values(列值1,值2);
inter into user values(1003,’王五’);
修改数据:update 表名 set 列名1=列值1,列名2=列值2,… where 条件
update user set userid=1002 where username=’刘德华’;
删除数据:delect from 表名 where条件;
delect from user where userid=1001;
DQL语句
1.基本查询
查询所有数据:select * from 表名;//其中*表示所有列
select * from user;
查询指定列:select 列1,列2,……列n from 表名;
select userid=1002 from user;
2.条件控制
条件查询: select (或者列1,列2,……列n)from 表名 where 条件;select from user where userid>1003;
模糊查询:select * from 表名where 列名 like ‘李_’;
模糊查询需要使用运算符:LIKE,其中匹配一个任意字符,注意,只匹配一个字符而不是多个。
上面语句查询的是姓李,名字由两个字组成的员工。
下划线“_”可以匹配1个字符,如果要匹配0-n个字符,需要用“%”;
select * from 表名 where 列名 like ‘%五’;
3.排序查询
升序:select *from 表名 oeder by 列名 ASC;
降序:select *from 表名 oeder by 列名 DESC;
4.聚合函数
count()函数
select count(*) from 表名;
计算表中所有列都不为NULL的记录的行数
select count(列名) from 表名;
计算表中列不为NULL的记录的行数
max()函数
select max(列名) from 表名;
查询某列最高值
min()函数
select min(列名) from 表名;
查询某列最低值
sum()函数
select sum(列名) from 表名;
查询某列的数值总和
avg()函数
select avg(列名) from 表名;
查某列平均数值
5.分组查询
分组查询是把记录使用某一列进行分组,然后查询组信息。
例如:查看所有部门的记录数。
select deptno,count(*) from 表名 group by deptno;
使用deptno分组,查询部门编号和每个部门的记录数
select job,max(sal) from 表名 group by job;
使用job分组,查询每种工作的最高工资
组条件
以部门分组,查询每组记录数,条件为记录数大于3
select deptno,count() from 表名 group by deptno having count() > 3;
6.limit子句
LIMIT用来限定查询结果的起始行,以及总行数。
例如:查询起始行为第5行,一共查询3行记录
select* from 表名 limit 4,3;
其中4表示从第5行开始,其中3表示一共查询3行。即第5/6/7行记录。
分页查询中计算起始页的公式:(当前页-1)*每页记录数;
例如:每页显示10条记录,查询第3页
select * from 表名 limit 20,10;