SELECT TOP number | percent column_name
FROM table_name
- LIKE操作符用于在WHERE子句中搜索列的指定模式。
SELECT column_name
FROM table_name
WHERE column_name LIKE pattern (这个pattern一般指包含通配符的语句)
SELECT column_names
FROM table_name
WHERE column_name IN (value1, value2, ……)
- BETWEEN操作符在WHERE子句中使用,作用是选取介于两个值之间的数据范围。
SELECT column_names
FROM table_name
WHERE column_name
BETWEEN value1 AND value2
(use NOT)
SELECT column_name
FROM table_name
WHERE column_name
NOT BETWEEN value1 AND value2
- Alias(another name)可以为列名称或表名称指定别名。
The table Alias name:
SELECT column_name
FROM table_name
AS alias_name
The column Alias name:
SELECT column_name AS alias_name
FROM table_name
- UNION操作符用于合并两个或多个SELECT语句的结果集。(注意:UNION内部的SELECT语句必须拥有相同数量的列,且他们的顺序必须相同)。
SELECT column_name FROM table_name1
UNION
SELECT column_name FROM table_name2
(默认的,UNION操作符选取不同的值。如果允许重复的值,请使用UNION ALL)
SELECT column_name FROM table_name1
UNION ALL
SELECT column_name FROM table_name2
- SELECT INTO语句可用于创建表的备份复件。
- SELECT INTO语句从一个表中选取数据,然后吧数据插入另一个表中;
- SELECT INTO语句常用与创建表的备份复件或者用于对记录进行存档。
SELECT * | column_name
INTO new_table_name [IN externaldatabase]
FROM old_tablename
CREATE DATABASE database_name
CREATE TABLE table_name
(
column_name1 type,
column_name2 type,
column_name3 type,
……
)
- SQL Constraints约束用于限制加入表的数据的类型。可以在创建表时规定约束(通过CREATE TABLE语句),或者在创建表之后也可以(通过ALERT TABLE语句)
常用的几种约束:
NOT NULL
UNIQUE
PRIMARY KEY
FOREIGN KEY
CHECK (用于限制列中值的范围,该表或该列只能取特定的值。)
DEFAULT
- CREATE INDEX语句用于在表中创建索引。在不读取整个表的情况下,索引是数据库应用程序可以更快地查找数据。用户无法看到索引,它们只能被用来加速搜索/查询。(更新一个包含索引的表需要比更新一个没有索引的表划分更多的时间,这是由于索引本身也需要更新。因此,理想的做法仅仅是在常常被搜索的列上创建索引)
CREATE INDEX index_name
ON table_name (column_name)
DROP TABLE / DATABASE table_name / database_name
如果我们仅仅需要去除表内的数据,但并不删除表本身,可以使用如下语句:
TRUNCATE TABLE table_name
- ALTER语句用于在已有的表中添加、修改或删除列。
ALERT TABLE table_name
ADD column_name datatype
要删除表中的列,使用如下语法:
ALERT TABLE table_name
DROP COLUMN column_name
- Auto-increment会在新记录插入表中是生成一个唯一的数字。我们通常希望在每次插入新记录时,自动的创建主关键字的值。
- VIEW视图是可视化的表。
视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中真实额表中的字段。我们可以向视图中添加SQL函数,WHERE以及JOIN语句,也可以提交数据
创建视图:
CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition
(视图总是显示最近的数据,每当用户查询视图时,数据里引擎通过使用SQL语句来重建数据)
更新视图:
CREATE OR REPLACE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition
撤销视图:
DROP VIEW view_name
- NULL值是遗漏的未知数据。默认的,表的列可以存放NULL值。
我们如何仅仅选取在某一列中带有NULL值得记录呢?
SELECT column_name FROM table_name
WHERE COLUMN IS NULL
IS NOT NULL同上。
- ISNULL(), NVL(), IFNULL(), COALESCE()函数。
SQL Server / MS Access
SELECT column_name1 * (column_name2 + ISNULL(column_name3))
FROM table_name
Oracle
用NVL()函数代替ISNULL()函数,有相同的作用。
MySQL
使用IFNULL() 或 COALESCE()代替。
现代的SQL服务器构建在RDBMS之上。
DBMS - 数据库管理系统(Database Management System)
数据库管理系统是一种可以访问数据库中数据的计算机程序。
DBMS使我们有能力在数据库中提取、修改或存储信息。
不同的DBMS提供不同的函数共查询、提交及修改数据。
RDBMS - 关系数据库管理系统(Relational DBMS)
RDBMS也是一种数据库管理系统,其数据库是根据数据间的关系来组织和访问数据的。
20世纪70年代初,IBM公司发明了RDBMS。
RDBMS是SQL的基础,也是所有现代数据库系统诸如Oracle/ SQL Server/ IBM DB2/ MySQL/ Microsoft Access的基础。