一、创建数据库
CREATE DATABASE _dbname_;
二、创建表
CREATE TABLE table_name_
(
column_name1 data_type(_size_) constraint_name,
column_name2 data_type(_size_),
column_name3 data_type(_size_),
....
);
column_name 参数规定表中列的名称。
data_type 参数规定列的数据类型(例如 varchar、integer、decimal、date 等等)。
size 参数规定表中列的最大长度。
constraint_name 约束名字
约束:constraint
- NOT NULL - 指示某列不能存储 NULL 值。
- UNIQUE - 保证某列的每行必须有唯一的值。
- PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。
- FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。
- CHECK - 保证列中的值符合指定的条件。
- DEFAULT - 规定没有给列赋值时的默认值
Auto-increment 会在新记录插入表中时生成一个唯一的数字。
三、索引
您可以在表中创建索引,以便更加快速高效地查询数据。
用户无法看到索引,它们只能被用来加速搜索/查询。
**注释:**更新一个包含索引的表需要比更新一个没有索引的表花费更多的时间,这是由于索引本身也需要更新。因此,理想的做法是仅仅在常常被搜索的列(以及表)上面创建索引。
创建索引:
### CREATE INDEX 语法:在表上创建一个简单的索引,允许使用重复的值。
CREATE INDEX index_name
ON table_name (column_name1,...)
### CREATE UNIQUE INDEX 语法:在表上创建一个唯一的索引。不允许使用重复的值:唯一的索引意味着两个行不能拥有相同的索引值。
CREATE UNIQUE INDEX index_name
ON table_name (column_name1,...)
四、删除索引,撤销表,删除数据库。(drop)
删除索引:根据不同的数据库有不同
1、用于 MS Access 的 DROP INDEX 语法:
DROP INDEX index_name ON table_name
2、用于 MS SQL Server 的 DROP INDEX 语法:
DROP INDEX table_name.index_name
3、用于 DB2/Oracle 的 DROP INDEX 语法:
DROP INDEX index_name
4、用于 MySQL 的 DROP INDEX 语法:
ALTER TABLE table_name DROP INDEX index_name
撤销表:
DROP TABLE table_name
删除数据库:
DROP DATABASE database_name
删除表数据: truncate
TRUNCATE TABLE table_name
五、修改表结构
alter
ALTER TABLE 语句用于在已有的表中添加、删除或修改列
添加列: alter add
ALTER TABLE table_name
ADD column_name datatype
删除列:alter drop
ALTER TABLE table_name
DROP COLUMN column_name
修改列:alter alter/modiey
**SQL Server / MS Access:**
ALTER TABLE table_name
ALTER COLUMN column_name datatype
**My SQL / Oracle:**
ALTER TABLE table_name
MODIFY COLUMN column_name datatype
Oracle 10G 之后版本:
ALTER TABLE table_name
MODIFY column_name datatype;
六、视图 view
在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表。
视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。
您可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,也可以呈现数据,就像这些数据来自于某个单一的表一样。
1、创建视图:
CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition
注释: 视图总是显示最新的数据!每当用户查询视图时,数据库引擎通过使用视图的 SQL 语句重建数据
2、更新视图:因为每次查询都要重构数据,所以可以从新创建
CREATE OR REPLACE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition