SQL日常学习

1.SQL 对大小写不敏感
2.SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。 
3.查询和更新指令构成了 SQL 的 DML 部分:

SELECT - 从数据库表中获取数据 
UPDATE - 更新数据库表中的数据 
DELETE - 从数据库表中删除数据 
INSERT INTO - 向数据库表中插入数据

4.SQL 的数据定义语言 (DDL) 部分使我们有能力创建或删除表格。

CREATE DATABASE - 创建新数据库 
ALTER DATABASE - 修改数据库 
CREATE TABLE - 创建新表 
ALTER TABLE - 变更(改变)数据库表 
DROP TABLE - 删除表 
CREATE INDEX - 创建索引(搜索键) 
DROP INDEX - 删除索引 


5.TOP 子句用于规定要返回的记录的数目。
SQL Server 的语法:

 

SELECT TOP number|percent column_name(s)
	FROM table_name

MySQL 和 Oracle 中的 SQL SELECT TOP 是等价的:
MySQL 语法:

 

SELECT column_name(s)
	FROM table_name
	LIMIT number

Oracle 语法:

 

SELECT column_name(s)
	FROM table_name
	WHERE ROWNUM <= number

6.SQL 通配符必须与 LIKE 运算符一起使用。
7.SQL IN 语法

 

SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...)

8.列的 SQL Alias 语法

 

SELECT column_name AS alias_name
	FROM table_name

9.left join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的.
换句话说,左表(A)的记录将会全部表示出来.

 

JOIN: 如果表中有至少一个匹配,则返回行 
LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行 
RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行 
FULL JOIN: 只要其中一个表中存在匹配,就返回行

10.INNER JOIN 关键字语法:

 

SELECT column_name(s)
	FROM table_name1
	INNER JOIN table_name2 
	ON table_name1.column_name=table_name2.column_name

11.LEFT JOIN 关键字语法

 

SELECT column_name(s)
	FROM table_name1
	LEFT JOIN table_name2 
	ON table_name1.column_name=table_name2.column_name

12.在某些数据库中, RIGHT JOIN 称为 RIGHT OUTER JOIN。

 

SELECT column_name(s)
	FROM table_name1
	RIGHT JOIN table_name2 
	ON table_name1.column_name=table_name2.column_name

13.SQL FULL JOIN 关键字
只要其中某个表存在匹配,FULL JOIN 关键字就会返回行。

 

SELECT column_name(s)
	FROM table_name1
	FULL JOIN table_name2 
	ON table_name1.column_name=table_name2.column_name

14.UNION 操作符用于合并两个或多个 SELECT 语句的结果集。

 

SELECT column_name(s) FROM table_name1
	UNION
	SELECT column_name(s) FROM table_name2

15.UNION 命令只会选取不同的值。UNION ALL 命令和 UNION 命令几乎是等效的,不过 UNION ALL 命令会列出所有的值。UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。
16.SQL SELECT INTO 语句可用于创建表的备份复件。
17.SQL CREATE DATABASE 语法 CREATE DATABASE database_name
18.SQL CREATE TABLE 语法

 

CREATE TABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
....
)

19.约束用于限制加入表的数据的类型。
可以在创建表时规定约束(通过 CREATE TABLE 语句),或者在表创建之后也可以(通过 ALTER TABLE 语句)。
我们将主要探讨以下几种约束:
NOT NULL 
UNIQUE 
PRIMARY KEY 
FOREIGN KEY 
CHECK 
DEFAULT 

20.NOT NULL 约束强制列不接受 NULL 值。
NOT NULL 约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新记录或者更新记录。

 

CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)


21.MySQL:

 

CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
UNIQUE (Id_P)
)



22.SQL Server / Oracle / MS Access:

 

CREATE TABLE Persons
(
Id_P int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

23.如果需要命名 UNIQUE 约束,以及为多个列定义 UNIQUE 约束,请使用下面的 SQL 语法:

 

MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)
)

24.当表已被创建时,如需在 "Id_P" 列创建 UNIQUE 约束,请使用下列 SQL:

 

MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD UNIQUE (Id_P)

25.如需命名 UNIQUE 约束,并定义多个列的 UNIQUE 约束,请使用下面的 SQL 语法:
MySQL / SQL Server / Oracle / MS Access:

 

ALTER TABLE Persons
ADD CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)

撤销 UNIQUE 约束
26.如需撤销 UNIQUE 约束,请使用下面的 SQL:
MySQL:

 

ALTER TABLE Persons
DROP INDEX uc_PersonID
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT uc_PersonID

27.SQL CHECK 约束

 

ALTER TABLE Persons
ADD CHECK (Id_P>0)

28.SQL DEFAULT 约束 DEFAULT 约束用于向列中插入默认值。

 

ALTER TABLE Persons
ALTER COLUMN City SET DEFAULT 'SANDNES'







 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值