一、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 |