SQL语法
SQL语言
SQL的数据类型
| 数据类型 | 描述 |
|---|---|
| CHARACTER(n) | 字符/字符串。固定长度 n。 |
| VARCHAR(n) 或 CHARACTER VARYING(n) | 字符/字符串。可变长度。最大长度 n。 |
| BINARY(n) | 二进制串。固定长度 n。 |
| BOOLEAN | 存储 TRUE 或 FALSE 值 |
| VARBINARY(n) 或 BINARY VARYING(n) | 二进制串。可变长度。最大长度 n。 |
| INTEGER(p) | 整数值(没有小数点)。精度 p。 |
| SMALLINT | 整数值(没有小数点)。精度 5。 |
| INTEGER | 整数值(没有小数点)。精度 10。 |
| BIGINT | 整数值(没有小数点)。精度 19。 |
| DECIMAL(p,s) | 精确数值,精度 p,小数点后位数 s。例如:decimal(5,2) 是一个小数点前有 3 位数,小数点后有 2 位数的数字。 |
| NUMERIC(p,s) | 精确数值,精度 p,小数点后位数 s。(与 DECIMAL 相同) |
| FLOAT(p) | 近似数值,尾数精度 p。一个采用以 10 为基数的指数计数法的浮点数。该类型的 size 参数由一个指定最小精度的单一数字组成。 |
| REAL | 近似数值,尾数精度 7。 |
| FLOAT | 近似数值,尾数精度 16。 |
| DOUBLE PRECISION | 近似数值,尾数精度 16。 |
| DATE | 存储年、月、日的值。 |
| TIME | 存储小时、分、秒的值。 |
| TIMESTAMP | 存储年、月、日、小时、分、秒的值。 |
| INTERVAL | 由一些整数字段组成,代表一段时间,取决于区间的类型。 |
| ARRAY | 元素的固定长度的有序集合 |
| MULTISET | 元素的可变长度的无序集合 |
| XML | 存储 XML 数据 |
模式
1.定义
create schema 模式名 authorization 用户名;
2.删除
drop schema 模式名 cascade;
CASCADE 和RESTRICT 必须⼆选⼀
CASCADE是(级联): 删除模式的同时也把该模式的所有数据库对象删除.
RESTRICT(限制) :如果该模式下有下属对象,⽐如表视图 就拒绝这个删除语句的执行
表
1.定义
create table test1(
id int primary key,
name varchar(255),
age int
);

2.删除
drop table 表名 cascade;
CASCADE如果表有外键,视图 触发器,也会强行删除;
RESTRICT相反
3.修改
alter table test1 add email varchar(255);

索引
数据量比较大的时候, 查询耗时间⻓, 建⽴索引可以有效减少消耗时间 索引可以建⽴在⼀列或者多列上
1.建立
create unique index 索引名 on 表名(字段);
CLUSTER: 聚簇索引,物理顺序与索引的逻辑顺序相同
UNIQUE: 唯⼀索引
2.修改
alter index 旧索引名 rename to 新索引名;
3.删除
drop index 索引名;
查询
1.查询所有 & 查询部分列
#查 询 所 有
select *
from 表名;

#查 询 部 分 列
select id,name
from 表名;

2.别名
select id 标签,name 姓名
from 表名;

#也可以给表起别名
select t1.id,t1.`name` # "`"在tab键上
from test1 t1;
3.结果去重

select distinct course 开设课程
from test1;

4.查询结果加条件

样例一:course表
样例二:user表
比较
#样例一
select *
from course
where price > 10;

确定范围
#样例一
select *
from course
where price between 18 and 30;

确定集合
#样例一
select *
from course
where price in(5,20);

字符匹配
#样例一
select *
from course
# % 省略多个字符
where title like '%1';

#样例一
select *
from course
# 一个'_'省略一个字符
where title like 'java_';

空值
select *
from user
where password is not null;

多重条件
select *
from user
where name is not null and password is not null;


SQL语法


浙公网安备 33010602011771号