SQL语法基础:DDL、DML

一、DDL(Data Definition Language):数据定义语句

#常见的语句

1)CREATE TABLE/DATABASE:创建数据库
CREATE [TEMPORARY] TABLE tbl_name
[(create_definition,...)]
[table_options] [select_statement]
2)ALTER TABLE/DATABASE:创建数据库表格
ALTER TABLE tbl_name
alter_specification [, alter_specification] ...
alter_specification:
ADD [COLUMN] column_definition [FIRST | AFTER col_name ]
| ADD [COLUMN] (column_definition,...)
| ADD INDEX (index_col_name,...)
| ADD [CONSTRAINT [symbol]]
PRIMARY KEY (index_col_name,...)
| ADD [CONSTRAINT [symbol]]
UNIQUE (index_col_name,...)
| ADD (index_col_name,...)
| ADD [CONSTRAINT [symbol]]
FOREIGN KEY (index_col_name,...)
[reference_definition]
| ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
| CHANGE [COLUMN] old_col_name column_definition
[FIRST|AFTER col_name]
| MODIFY [COLUMN] column_definition [FIRST | AFTER col_name]
| DROP [COLUMN] col_name
| DROP PRIMARY KEY
| DROP INDEX index_name
| DROP FOREIGN KEY fk_symbol
| DISABLE KEYS
| ENABLE KEYS
| RENAME [TO] new_tbl_name
| ORDER BY col_name
| CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]
| [DEFAULT] CHARACTER SET charset_name [COLLATE collation_name]
| DISCARD TABLESPACE
| IMPORT TABLESPACE
| table_options
3)DROP TABLE/DATABASE:修改数据库表格
DROP [TEMPORARY] TABLE
tbl_name [, tbl_name] ...
[RESTRICT | CASCADE]
4)CREATE VIEW:创建查询命令
CREATE[ORREPLACE][ALGORITHM={UNDEFINED|MERGE|TEMPTABLE}]
VIEW view_name [(column_list)]
AS select_statement
[WITH [CASCADED | LOCAL] CHECK OPTION]
5)ALTER VIEW:修改查询命令
ALTER [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
VIEW view_name [(column_list)]
AS select_statement
[WITH [CASCADED | LOCAL] CHECK OPTION]
6)DROP VIEW:删除查询命令
DROP VIEW
view_name [, view_name] ...
[RESTRICT | CASCADE]
7)TRUNCATE TABLE:删除数据表内容
TRUNCATE TABLE name [DROP/REUSE STORAGE]
DROP STORAGE:显式指明释放数据表和索引的空间
REUSE STORAGE:显式指明不释放数据表和索引的空间
 
注意:
 1)在一些特定情况下,如:金融、安全、税务等等部门,有一些数据库为了安全需要,需要禁止执行DDL语句。在Oracle数据库下,禁止DDL语句需要执行下面的SQL语句:
 2)执行完这条语句之后,Oracle所有的DDL语句,均无法执行,包括SYS用户。
 

二、DML:数据操纵语句

1)功能:

 A、主要功能即是访问数据,因此其语法都是以读取与写入数据库为主,除了INSERT以外,其他指令都可能需搭配WHERE指令来过滤数据范围,或是不加WHERE指令来访问全部的数据。 

  B、负责(对数据库对象运行数据访问工作的)指令集,以INSERT、UPDATE、DELETE三种指令为核心,分别代表插入、更新与删除,是开发以数据为中心的应用程序必定会使用到的指令,因此有很多开发人员都把加上SQL的SELECT语句的四大指令以“ CRUD”来称呼。
 
2)基本语法结构

 A)SELECT

  主条目: SELECT
  功能: 查询表格内字段数据,可搭配条件限制的子句(如where)或排列顺序的子句(如order)来获取查询结果。
  格式:
1
SELECT  [ ALL  |  DISTINCT ]  栏位名 [, 栏位名...]  FROM  资料表名 [, 资料表名...]  [ WHERE  筛选条件式]  [ GROUP  BY  栏位名[, 栏位名.. .]]  [ ORDER  BY  栏位名[, 栏位名...]]

 B)INSERT

  条目: INSERT
  功能: 将数据插入到数据库对象中,可以插入数据的数据库对象有 数据表以及可更新查看表两种。
  格式:
1
2
INSERT  INTO  [ 资料表或可更新检视表物件名称]  ( 栏位 1  ,  栏位 2  ,  栏位 3  ,  ...)  VALUES  ( 值 1  ,  值 2  ,  值 3  ,  ...)  --只需要根据指定的栏位来设定插入值。
INSERT  INTO  [ 资料表或可更新检视表物件名称]  VALUES  ( 值 1  ,  值 2  ,  值 3  ,  ...)  --必须要指定所有栏位的插入值。
  例如:
1
INSERT  INTO  myTable  ( col1 ,  col2 ,  col3 ,  col4 ,  col5 )  VALUES  (  1  ,   2  ,   3  ,   '4'  ,   '5' 
1
INSERT  INTO  myTable  VALUES  (  1  ,   2  ,   3  ,   '4'  ,   '5'  )

 C)UPDATE

  条目: UPDATE
  功能:依给定条件,将匹配条件的数据表中的数据, 更新为新的数值
  格式:
1
UPDATE  [ 资料表或可更新检视表物件名称]  SET  栏 1  = 值 1  ,  栏 2  = 值 2  ,  栏 3  = 值 3  ,  ...  WHERE  [ 指定条件]
  例如:
1
UPDATE  myTable  SET  Col1  =   3  ,  Col2  =   5  ,  Col4  =   5   WHERE  Col0  =   198273

 D)DELETE

  条目: DELETE
  功能: 删除自数据库对象中数据
  格式:
1
2
DELETE FROM [资料表或可更新检视表名称] WHERE [给定条件]
DELETE * FROM [资料表或可更新检视表名称] WHERE [给定条件] -- 部份资料库需要加 "*"  才会生效,例如Microsoft Access
  例如:
1
DELETE  FROM  myTable  WHERE  col0  =   1918299

 

转载于:https://www.cnblogs.com/volcao/p/8868503.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值