时间数据类型:有下面三种,在使用时应当用单引号包括起来
(1)DATE:用于存储日期数据。其格式为:YYYY(year)-MM(month)-DD(day)。有效范围为:0001-01-01到9999-12-31
(2)TIME:用于存储时间数据。其格式为:HH:MI:SS.nn...。有效范围为:00:00:00...到23:59:61.999...
(3)TIMESTAMP:用于存储日期和时间数据。其格式为YYYY-MM-DD HH:MI:SS.nn。有效范围为0001-01-01 00:00:00...到9999-12-31 2359:61.999...。
字符串常量:包括在单引号内,如果字符串常量中包括单引号,在其之前再加上一个单引号,以表示其是常量中的一个字符,如:'I don''t konw'
SQL语句的分类以及其一些简单的语句
一、数据定义类
CREATE DATABASE 创建数据库
CREATE TABLE 创建表
DROP TABLE 删除表
ALTER TABLE 修改表的结构
CREATE VIEW 创建视图
DROP VIEW 删除视图
CREATE INDEX 创建索引
DROP INDEX 删除索引
二、数据操作类
INSERT 添加记录
UPDATE 修改记录
DELETE 删除记录
SELECT 检索记录
三、访问控制类
GRANT 授予权限
REVOKE 分配权限
四、事务控制类
COMMIT 提交事务
ROLLBACK 取消事务
SQL语句中括号的使用:花括号({})表示至少必须选择一个选项,例:{apple,banana,pear},表示必须在其中选择一个或多个。如果选项间用竖线(|)分隔,就只能选择一个选项,例:{apple|banana|pear}。方括号()标识是一个可选项,如果选项用竖线分隔则可以选择一个,也可以不选,例:[apple|banana|pear]。
创建数据库
create database database_name
创建表
create table Tablename
(column1 datatype1[NULL|NOT NULL],
column2 datatype2[NULL|NOT NULL],
...)
列约束
1、候选键和主键约束
UNIQUE用于指定候选键,定义了的列不能出现重复值,PRIMARY KEY用于指定主键,定义的形式:有两种,一是直接到相关列的末尾加UNIQUE或PRIMARY KEY定义,也可以到最后面用下面的形式定义UNIQUE(column1,column2...);PRIMARY KEY(column1,column2...)。如果候选键和主键是一个组合,则只能用后面的方法进行定义。
2、外部键约束
关键字FOREIGN KEY和REFERENCES。定义形式:在相关列的末用如下形式定义,REFERENCES Tablename(column)。或者在最后用如下形式:FOREIGN KEY(column1,column2...) REFERENCES Tablename(_column1,_column2...)。如果对应的主键是一个组合,则只能采用后面的方法。定义好外部键后,在对相关表进行一些修改时,存在4种关联完整性问题(1、在子表中添加新的记录。2、更新子表中外部键的值。3、删除父表中的记录。4、更新父表中主键的值)。可以采用下面的方法解决。(1)RESTRICT关键字,拒绝删除修改父表中有关联的行。(2)CASCADE关键字,级联删除。(3)SET NULL 关键字:删除父表记录或修改父表主键值时,子表中相应的行的外部键值自动赋为NULL。(4)SET DEFAULT关键字:删除父表记录或修改父表主键值时,子表中相应的行的外部键值自动赋值为默认值。
3、NULL与NOT NULL约束
该关键字定义相关列是否可以为NULL值。主键列不能为NULL
4、校验约束
关键字CHECK,CONSTRAINT。定义形式:直接在相关列后面加CHECK(constraint),或者在最后面加CONSTRAINT check_name CHECK(constraint)。
5、默认值
关键字DEFAULT。定义形式:直接在相关列后面加DEFAULT expression。
创建索引
CREATE [UNIQUE] INDEX index_name
ON Tablename(column1name,[column2name,...])
UNIQUE用于创建唯一索引时使用。使用列列表创建索引,只创建了一个索引。
群集索引:暂未知
修改数据库和对象
修改表定义
关键字ALTER TABLE,作用:向表中添加列,修改表中的列
向表中添加列的形式:ALTER TABLE Tablename ADD column_name datatype [DEFAULT expression] [REFFERENCES Tablename(column_name)] [CHECK constraint]
修改已有列的形式:ALTER TABLE Tablename MODIFY column_name [datatype][DEFAULT expression][REFERENCES Tablename(column_name)][CHECK constraint],注意在修改数据类型时,新的数据类型必须要兼容原来的数据类型。
删除数据库和对象
删除数据库:DROP DATABASE database_name
删除表:DROP TABLE table_name
删除索引:DROP INDEX index_name