
注释:
● 1行注释 书写在“--”之后,只能写在同一行。 ● 多行注释 书写在“/*”和“*/”之间,可以跨多行。
;结尾关键字的大小写,但是字段区分大小写半角英文字母、数字、下划线(_)作为数据库、表和列的名称,必须以英文字母开头。常见的系统结构为**客户端/服务器(c/s)**类型
CREATE DATABASE <数据库名称>;CREATE TABLE <表名>
(<列名1> <数据类型> <该列所需约束>,
<列名2> <数据类型> <该列所需约束>,
<列名3> <数据类型> <该列所需约束>,
<列名4> <数据类型> <该列所需约束>,
.
.
.
<该表的约束1>, <该表的约束2>,……);约束是除了数据类型之外,对列中存储的数据进行限制或者追加条件的功能
数据类型:
数据类型 | 描述 |
|---|---|
integer(size) int(size) smallint(size) tinyint(size) | 仅容纳整数。 在括号内规定数字的最大位数。 |
decimal(size,d) numeric(size,d) | 容纳带有小数的数字。 “size” 规定数字的最大位数。“d” 规定小数点右侧的最大位数。 |
char(size) | 容纳固定长度的字符串(可容纳字母、数字以及特殊字符)。 在括号中规定字符串的长度。 |
varchar(size) varchar2(size) | 容纳可变长度的字符串(可容纳字母、数字以及特殊的字符)。 在括号中规定字符串的最大长度。 |
date(yyyymmdd) | 容纳日期。 |
DROP TABLE <表名>;-- 添加一列
ALTER TABLE <表名> ADD <列名> ;
-- 添加多列
ALTER TABLE <表名> ADD (<列名>,<列名>,……);-- 删除一列
ALTER TABLE <表名> DROP <列名> ;
-- 删除多列
ALTER TABLE <表名> DROP (<列名>,<列名>,……);INSERT INTO <表名> (<列名>,<列名>,……) VALUES (<值1,值2,……>)ALTER TABLE Poduct RENAME TO Product;-- 查询列
SELECT <列名>,……
FROM <表名>;
-- 查询全部
SELECT *
FROM <表名>;AS关键字设置别名
-- 设置别名
SELECT product_id AS id,
product_name AS name,
purchase_price AS price
FROM Product;DISTINCT 关键字实现去重,DISTINCT 关键字只能用在第一个列名之前
SELECT
DISTINCT product_type
,regist_date
FROM Product;WHERE 子句来指定查询数据的条件。
执行顺序:
SELECT <列名>, ……
FROM <表名>
WHERE <条件表达式>;加 (+)、减(-)、乘(*)、除(/)和取模(%)运算。
另:
除:DIV
取模:MOV
非数字型字符串,运算时当作0来处理
加法两边做数值运算,会把字符串转为数字
求模后的结果符号与被模数符号相同(第一个数字)
所有包含 NULL 的计算,结果肯定是NULL。
select -12 % -5 from dual -- -2
select 12 % -5 from dual -- 2NULLNULLAND:与
OR:或
AND运算符的优先级高于OR运算符。
() 可以提高优先级
众所周知,真值有true和false两种,但是在SQL中还有一种UNKNOWN的情况。前者是二值逻辑,后者是三值逻辑。
在值为NULL时,真值为UNKNOWN