sql:结构化查询语言(Structured Query Language)
是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
DDL—数据定义语言(Create,Alter,Drop,DECLARE)
DML—数据操纵语言(Select,Delete,Update,Insert)
DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)
一、约束与列
添加主键约束:alter table 表名 add constraint 主键 (形如:PK_表名) primary key 表名(主键字段);
添加外键约束:alter table 从表 add constraint 外键(形如:FK_从表_主表) foreign key 从表(外键字段) references 主表(主键字段);
删除主键约束:alter table 表名 drop primary key;
删除外键约束:alter table 表名 drop foreign key 外键(区分大小写);
添加列:alter table 表名 add column 列名 varchar(30);
删除列:alter table 表名 drop column 列名;
二、基础语句
1、创建数据库:
CREATE DATABASE database-name
效果
2、删除数据库:
drop database database-name
3、创建新表:
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
用旧表建新表
create table tab_new like tab_old
4、删除表:
drop table tabname
5、增加列:
alter table tabname add column 列名 varchar(20);
6、删除列:
三、简单的sql增删改
1、增:
insert into 表名(列名,列名)value(“值”,“值”)
2、删:
delete from 表名 where 条件
3、改:
update 表名 set 列名=值 where 条件
四、简单的sql查询
1、无条件全部查询
select * from 表名
2、简单的条件查询
select * from 表名 where 条件
3、升序:order by asc(默认可不写)
4、降序:ORDER BY desc
5、取别名:
全: select 列名 as 别名,列名 as 别名 from 表名
简: select 列名 别名,列名 别名 from 表名
6、字段消重:disinct
7、范围查找:
A: select * from 表名 where 列名 BETWEEN 范围1 and 范围2
B: select * from 表名 where 列名>=3 and 列名<=8
8、零星查询:
A: select * from 表名 where 列名 in(值,值)
B: select * from 表名 where 列名 not in(值,值)
C: select * from 表名 where 列名=值 or 列名=值
9、分组:group by
SELECT 列名,from 表名GROUP BY 列名
对本组条件的过滤用 having
10、多表查询:
A:用,连接
select 别名一.列名,别名一.列名,列名,列名 from 表一 别名一,表二 别名二 where 条件
多条件连接用and
select 别名一.列名,别名一.列名,列名,列名 from 表一 别名一,表二 别名二 where 条件1 and 条件2
B:用INNER JOIN连接 on连接条件
select 别名一.列名,别名一.列名INNER JOIN列名,列名 from 表一 别名一,表二 别名二 on 条件1
多条件连接用where
select 别名一.列名,别名一.列名INNER JOIN列名,列名 from 表一 别名一,表二 别名二 on 条件1 where 条件2
11、分页查询:limit 起始行数,每页行数
SELECT * from 表名 limit 起始行数,每页行数
12、模糊查询: like %表示有0个或多个
select * from 表名 where 列名 like ‘%s%’
占一个字符 ‘__m%’ 第三位为m且后面至少有一位
五、常用的sql函数
1、大小写转化:
大写转小写:LOWER
SELECT LOWER(列名) from 表名
小写转大写:UPPER
SELECT UPPER(LOWER(列名)) from 表名
2、求长度: LENGTH
SELECT LENGTH(列名),列名 from 表名
3、求表条数:COUNT
select COUNT(列名/*) from 表名
4、平均数:avg
select AVG(列名) from 表名
5、最大值:max
select max(列名) from 表名
6、最小值:min
select min(列名) from 表名