SQL数据库数据定义语言(DDL)

Posted 小刘编码员

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL数据库数据定义语言(DDL)相关的知识,希望对你有一定的参考价值。

数据定义语言用来定义数据库的各级模式。常用关键字有:Create(建立数据表)、Alter(更改数据表)、Drop(删除数据表)。

建立数据表

  CREATE TABLE table_name(

  column1 DATATYPE [NOT NULL] [NOT NULL PRIMARY KEY],

  column2 DATATYPE [NOT NULL],

  ...

)

  说明:上面的DATATYPE 指的是字段的类型,NUT NULL 指是否为空,PRIMARY KEY 指本表的主键。

建立索引 

CREATE INDEX index_name ON table_name (column_name)

  说明:为数据表格的某个字段建立索引以增加查询时的速度。

更改数据表 

ALTER TABLE table_name ADD COLUMN column_name DATATYPE

说明:增加一个字段。

ALTER TABLE table_name ADD PRIMARY KEY (column_name)

说明:将某个字段设为主键。

ALTER TABLE table_name DROP PRIMARY KEY (column_name)

说明:将某个字段的主键定义取消。

删除数据表

  DROP table_name

DROP index_name

(2) 数据操作语言(DML)

数据操作语言(DML)用于操作数据表,如增加、删除、查询、修改等。常用关键字有:Insert(插入数据)、Delete(删除数据)、Select(查询数据)和Updata(修改数据)。

插入数据

  INSERT INTO table_name(column1,column2,...) VALUES

(value1,value2, ...)

说明:在插入语句中,若不指明要插入字段则,按表中的字段顺序依次插入。另外,插入数据的类型应和所插入字段的类型相匹配。

  INSERT INTO table_name (column1,column2,...) SELECT

columnx,columny,...

FROM another_table

说明:通过一个子查询将别的表格相应字段的值插入该表格。

  删除数据

DELETE FROM table_name WHERE conditions

说明:删除符合条件的记录。

  查询数据

  SELECT column1,columns2,... FROM table_name

  说明:把table_name 的相应字段查询出来。

SELECT * FROM table_name WHERE column1 = x AND column2 > y

说明:这是一个带有条件的查询语句,‘*‘表示查询所有的字段,WHERE 之后是条件表达式。

  SELECT column1,column2 FROM table_name ORDER BY column2

[DESC]

说明:ORDER BY 是指定以某个字段排序,[DESC]是指从大到小排列,若没有指明,则是从小到大排列。

  SELECT * FROM table1,table2 WHERE

table1.colum1=table2.column1

  说明:这是一个组合查询,查询两个表格中 column1

字段具有相同值的记录。作为两个表中建立关系的字段,其类型必须匹配。

  SELECT COUNT (*) FROM table_name WHERE column_name = x

  说明:查询符合条件的记录数。

SELECT SUM(column1) FROM table_name

  说明:计算column1字段的数据总和。除了SUM之外,还可以用AVG()计算平均值

、用MAX()计算最大值、用MIN()计算最小值。

  SELECT * FROM table_name1 WHERE EXISTS (SELECT * FROM

table_name2 WHERE

conditions)

说明:这条查询语句用一个子查询语句作为该查询语句的条件。EXISTS指是否存在。

  SELECT * FROM table_name1 WHERE column1 IN (SELECT column1

FROM

table_name2 WHERE conditions )

说明:IN后面接的是一个集合,表示将column1字段的值在集合中的所有记录从table_name1表中选出来。

SELECT * FROM table_name1 WHERE column1 LIKE ‘x%‘

说明:该语句为模糊查询。这里的“%”是一个通配符,表示将column1字段中以x开头的所有记录选出来。

SELECT * FROM table_name1 WHERE column1 BETWEEN x AND y

  说明:BETWEEN 表示 column1 的值介于 x 和 y之间。

以上是关于SQL数据库数据定义语言(DDL)的主要内容,如果未能解决你的问题,请参考以下文章

MySQL基础-- [SQL(结构化查询语言), DDL(数据定义语言)]

数据库模式定义语言DDL

SQL数据库数据定义语言(DDL)

SQL数据库数据定义语言(DDL)

ORACLE SQL基础—DDL语言 礼记八目 2017-12-23 21:26:21

Sql语法---DDL