sql语言之DDL

来源:互联网 发布:mysql 注入攻击 编辑:程序博客网 时间:2024/05/01 07:26

DDL即数据定义语言(data-definition language)包括定义关系模式,删除关系以及修改关系模式的命令。

CREATE TABLE语句
CREATE TABLE语句用于在数据库中创建新表。
语法:CREATE TABLE tablename (field1 type [(size)] [NOT NULL] [, field2 type [(size)] [NOT NULL] [, ...]][,[完整性约束][,...]])
说明:tablename参数用于指定新建表的名称。
field1,field2用于指定在新建表中创建的属性的名称,每创建一个新表必须至少创建一个属性。
type参数用来指定新建属性的数据类型。
size参数用于指定文本及二进制字段的长度。
NOT NULL是SQL的关键字,使用该参数则每个记录的该属性值必须是有效的数据。在一个属性上只能使用一次NOT NULL参数,否则会出错。
          有很多完整性约束,如主键,索引,惟一等,其中如果是主键的话则默认它非空且唯一,不能再另外为它定义索引,唯一等完整性约束。


例:CREATE TABLE `account` (
  `account_number` varchar(15) NOT NULL,
  `branch_name` varchar(15) NOT NULL,
  `balance` int(11) NOT NULL,
  PRIMARY KEY  (`account_number`),
  UNIQUE KEY `balance` (`balance`)
  KEY `branch_name` (`branch_name`),
  KEY `branch_name_2` (`branch_name`,`balance`)
)

ALTER TABLE语句用于修改已经存在的表的设计。

语法:ALTER TABLE tablename ADD [COLUMN ]field type[(size)] [NOT NULL]
ALTER TABLE tablename DROP [COLUMN ]field

说明:tablename参数用于指定要修改的表的名称。
ADD COLUMN为SQL的保留字,使用它将向表中添加字段。带COLUMN或不带COLUMN都可以
DROP COLUMN为SQL的保留字,使用它将向表中删除字段。带COLUMN或不带COLUMN都可以
field指定要添加或删除的字段的名称。
type参数指定新建字段的数据类型。
size参数用于指定文本或二进制字段的长度。

DROP语句


--------------------------------------------------------------------------------

DROP语句用于从数据库中删除已存在的表,或从表中删除已存在的索引。在使用该语句时,必须先关闭表才能删除此表或此表中的索引。

语法:DROP TABLE tablename
DROP INDEX index ON tablename

说明:tablename参数指定要删除的数据库表的名称,或者是要删除的索引所在的表的名称。
index参数指定要从表中删除的索引的名称。


CREATE INDEX语句
CREATE INDEX语句用来在现有数据库表上创建新的索引。
语法:CREATE [ UNIQUE ] INDEX indexname ON tablename (field [ASC|DESC][, field [ASC|DESC], ...])
说明:UNIQUE是SQL的保留字,使用它则不允许在不同记录的索引字段之中有重复值。
indexname参数用来指定新建索引的名称。
tablename参数用于指定新建索引所在的表的名称。
field参数指定欲被索引的字段的名称。要创建单一字段索引,在表名称后面的括号中列出字段名。要创建多重字段索引,列出包括在索引中的每一个字段的名称。
ASC|DESC为SQL的保留字,使用DESC保留字,则索引总是递减排序;使用ASC保留字(默认值),索引总是递增排序。


参考书:数据库系统概念

原创粉丝点击