一,SQL语言:数据库用来管理DB的语言。
二,MySql库/表:
库:存储数据的空间。
表:数据库存储数据的对象。
三,基本命令:
1.create database +数据库名;创建数据库(一般一个数据库对应一个软件项目,所以名字一般与软件名相同)。
2.show databases; 查看所有库。
3.drop database +数据库名;删除数据库。
4.use+数据库名;选择要使用的数据库。
5.create table +表名(列名1+数据类型1,列名2+数据类型2+....);创建表并规划该表数据结构。
6.desc+表名;查看表结构。
7.insert into student values(对应位置和数据类型的值);添加数据。
8.delete 删除数据。
delete from +表名;删除全部数据
delete from +表名+where+条件;删除符合条件的数据。
9.update +表名+set列名=值;更改整列的数据。
10.update +表名+set列名=值 where 列名=值;更改符合条件的数据的值。
11.select +列名1,列名2.... from +表名; 查询该表下的指定列。
注意:列名+[as]+别名 可将列名显示为别名,方便观察使用。数字型数据,在查询时列名可跟上数字运算来使值改变,方便比较(如满分改变后比较之前与现在的成绩)。
12.select +distinct 取消结果集中的重复行。
13.聚合函数(数字型数据列):
select count(*) from 表名; 表中指定行数,*可换位条件。
select sum(列名)from 表名; 指定列求和。
select max(列名)from 表名; 指定列求最大。
select min(列名)from 表名; 指定列求最小。
select avg(列名)from 表名; 指定列求平均数。
14.where关键字,where+条件语句;按照一定条件查找。
15.like 关键字。
like+’字符A%‘; 以A开头的字符为条件。
like+’字符%A‘; 以A结尾的字符为条件。
like+’字符%A%‘; 包含A的字符为条件。
like+’字符A_‘; 以A开头的两个字符为条件。(_代表一个字符)
not like 与like相反
16.between+数字型数据1+and+数字型数据2; 查找数据1和数据2之间的数值(等同于and)。
17.in(数字型数据1,数字型数据2,....); 查找等于数据1或者数据2...的数据。
18.group by 根据列分组。
19.having +行的条件 ; 筛选满足条件的组。
20.order by +条件; 一般在group by 之后,通过一定条件排序,默认为升序。
升序 asc; 降序desc;
21.limit子句:
limit n; 最多显示前n行。
limit n,m 从第n+1行开始,最多显示m行,没有越界。
特别注意:null是一种数据,表示空值,和任何数据都不相等(包括其本身),查找时不能用=,应该用is/not is。
例子:
创建一个数据库为fwq,有一个名为vip的表,vip的列有id,mima,qb。
create database fwq;
use fwq;
create table vip(id varchar(8),mima varchar(8),qb double);
(varchar(8)代表长度最大为8个字节的varchar字符串;)
insert into vip values('desheng','123123',666);
insert into vip values('zhangs','333333',2333);
insert into vip values('li4','444444',444);
select * from vip;
(*代表所有数据;)
update vip set mima='123123';
update vip set mima='321321' when mima='123123' ;
select id 账号,mima 密码,qb q币 from vip;
select distinct qb from vip;
select count(distinct qb) from vip;
select sum(qb) from vip;
select max(qb) from vip;
select min(qb) from vip;
select avg(qb) from vip;
select * from vip when id='desheng';
select * from vip like id='zhang%';
select qb from vip between 18 and 100;
select qb from vip in(10,20,30);
select * from vip group by qb;
select qb,count(*) from vip having qb>10;
select * from vip order by qb desc;
select * from vip order by qb desc limit 3;