概要:表的创建,约束的设置,表的删除和更新,表的重命名
1. SQL的分类:DDL(数据定义语言)比如CREATE/DROP/ALTER,
DML(数据操纵语言)比如SELECT/INSERT/UPDATE/DELETE,
DCL(数据控制语言)比如COMMIT/ROLLBACK/GRANT/REVOKE
2. SQL语句不区分大小写,SELECT与select效果一样
3. SQL语句中含有字符串或者日期时,需要用单引号包括起来,比如’abc’,’1996-12-23’
4. 表的创建:
Create TABLE Student(
id INTEGER NOT NULL PRIMARY KEY,
name varchar(8) not null,
sex char(1) not null
);
在这里通过简单的例子对表的创建语法进行说明,create table表示你创建的是一张表而不是其他的什么东西,Student是这张表的名字,随后的括号中是对表的内容的说明,id 是第一列的名字,列名后紧跟数据类型,其后表示该列所满足的约束
5. 数据类型的指定:四种基本的数据类型
(1)INTEGER 用来存储整数
(2)CHAR类型用来存储定长的字符串,可以通过括号对字符串的最大长度进行制定比如CHAR(8),那么什么叫做存储定长字符串呢,比如我们向CHAR(8)中存入’abc’时,系统会在abc的后面自动加上五个空格使字符串的长度达到八位
(3)VARCHAR用来存储变长字符串,当你向VARCHAR(8)中输入’abc’时,实际存储的就是’abc’ 另外Oracle中推荐使用VARCHAR2代替VARCHAR类型
(4)DATE类型用来存储日期
6. 约束的设置:比如上面写到的NOT NULL表示该列不允许出现空值,PRIMARY KEY表示主键,主键用来表示唯一一行数据,不允许重复,还会有更多的约束会在以后用到的时候进行介绍
7. 表的删除 DROP TABLE 表名 将整张表删除,不可恢复
8. 表定义的更新,一定要注意是对定义的更新而不是对数据的更新,二者是不一样的
ALTER TABLE 表名 ADD COLUMN <列的定义>,特别注意在Oracle和SQLSever中不写COLUMN
示例:添加一列可以存储100位的可变长字符串的address列
ALTER TABLE Product ADD COLUMN address varchar(100);
ALTER TABLE Product ADD (addressvarchar(100));
9. 删除列的语句
ALTER TABLE Product DROP COLUMN address;
ALTER TABLE Product DROP (address);
10. 表的重命名,总不能每次把表起错了名字都删了重新来吧,如果表中有数据的话这是非常麻烦的是
那么应该通过下面的语句把PPProduct表变为Product
Oralce: ALTER TABLE PPProduct RENAME TO Product;
MySQL:RENAME PPProduct to Product;