数据库DDL、DML、DCL、DQL、DPL、CCL的全称和使⽤
数据库DDL、DML、DCL、DQL、DPL、CCL的全称和使⽤
简介:
  SQL (Structure Query Language):结构化查询语⾔,⼀种特殊⽬的的编程语⾔,⼀种数据库查询和程序设计语⾔,⽤于存取数据以及查询、更新和管理关系数据库系统。结构化查询语⾔是⾼级的⾮过程化编程语⾔,允许⽤户在⾼层数据结构上⼯作。它不要求⽤户指定对数据的存放⽅法,也不需要⽤户了解具体的数据存放⽅式,所以具有完全不同底层结构的不同数据库系统, 可以使⽤相同的结构化查询语⾔作为数据输⼊与管理的接⼝。结构化查询语⾔语句可以嵌套,这使它具有极⼤的灵活性和强⼤的功能。
DDL (Data Definition Language):数据定义语⾔
create语句:可以创建数据库和数据库的⼀些对象。
    创建数据库:
    CREATE DATABASE[database_name];
    创建数据库表: 
    CREATE TABLE[table_name]
    (
    id datatype,
    column_name2 datatype,
    column_name3 datatype,
    ...,
    PRIMARY KEY (`id`)
    );
drop语句:可以删除数据表、索引、触发程序、条件约束以及数据表的权限等。
mysql删除重复的数据保留一条    删除数据库:
    DROP DATABASE[database_name];
    删除数据库中的表:
    DROP TABLE[table_name];
    删除数据库表的索引:
    -- mysql
    ALTER TABLE[table_name]DROP INDEX[index_name];
    -- DB2 和 Oracle
    DROP INDEX[index_name];
alter语句:修改数据表定义及属性。
    在已经存在的表中添加字段:
    ALTER TABLE[table_name]ADD[column_name][datatype];
    -- 房间表添加业态
    ALTER TABLE `room_info` ADD COLUMN business_type tinyint(4) DEFAULT'1' COMMENT "业态" AFTER new_room_id;
    删除表中已经存在的字段:
    ALTER TABLE[table_name]DROP COLUMN[column_name];
    修改表中已经存在的字段的类型:
    -- 将 table_name表中的字段 column_name 修改为新的数据类型
    ALTER TABLE[table_name]ALTER COLUMN[column_name]新数据类型;
    ALTER TABLE[table_name] MODIFY COLUMN[column_name]新数据类型;
    修改表中字段名为新的字段:
    -- 将 table_name 的 column_name 字段修改为 datatype 类型的 new_column_name字段
    ALTER TABLE[table_name] CHANGE COLUMN[column_name][new_column_name][datatype] COMMENT "描述";
    -- 实际操作
    ALTER TABLE bs_area CHANGE COLUMN `data_states` `data_state` int(11) COMMENT "状态";
DML (Data Manipulation Language):数据操作语⾔
insert 语句:向数据表中插⼊记录。
    -- 将table_name表中的每⼀个字段都插⼊值
    INSERT INTO[table_name]VALUES (value1,value2,...);
    -- 将table_name表中的特定字段插⼊值
    INSERT INTO[table_name](column_name1, column_name2,...) VALUES (value1, value2,...);
delete 语句:删除数据表中的⼀条或多条记录,也可以删除数据表中的所有记录。
    DELETE FROM[table_name]WHERE[column_name]=[value];
update 语句:⽤于修改已存在表中的记录的内容。
    UPDATE[table_name]SET[column_name1]=[value1]WHERE[column_name2]=[value2];
truncate 语句:清除表中所有数据。
    -- 对⽐drop的操作,仅清除表中的数据
    TRUNCATE TABLE[table_name]
DCL (Data Control Language):数据控制语⾔
grant 语句:允许对象的创建者给某⽤户或某组或所有⽤户(PUBLIC)某些特定的权限。
    -- 向数据库⽤户授权数据库对象(表、视图、字段)的权限(select,insert,update,delete)
    GRANT<;权限>ON<;数据对象>FROM<;数据库⽤户>
revoke 语句:可以废除某⽤户或某组或所有⽤户访问权限。
    -- 回收数据库⽤户在数据库对象(表、视图、字段)的权限(select,insert,update,delete)
    REVOKE<;权限>ON<;数据对象>FROM<;数据库⽤户名>
DQL (Data Query Language):数据查询语⾔
select 语句:数据检索语句,⽤于从表中获取数据。
    SELECT[column_name1]FROM[table_name]WHERE[column_name2]=[value2];
select 语句中所有关键字书写顺序
    ①SELECT [DISTINCT]
    ②FROM
    ③JOIN
    ④ON
    ⑤WHERE
    ⑥GROUP BY
    ⑦HAVING
    ⑧UNION
    ⑨ORDER BY
    ⑩LIMIT
执⾏顺序
    ①FROM:将数据从硬盘加载到数据缓冲区,⽅便对接下来的数据进⾏操作。
    ②WHERE:从基表或视图中选择满⾜条件的元组。(不能使⽤聚合函数)
    ③JOIN:(如right left 右连接-------从右边表中读取某个元组,并且到该元组在左边表中对应的元组或元组集)
    ④ON:join on实现多表连接查询,推荐该种⽅式进⾏多表查询,不使⽤⼦查询。
    ⑤GROUP BY:分组,⼀般和聚合函数⼀起使⽤。
    ⑥HAVING:在元组的基础上进⾏筛选,选出符合条件的元组。(⼀般与GROUP BY进⾏连⽤)
    ⑦SELECT:查询到得所有元组需要罗列的哪些列。
    ⑧DISTINCT:去重的功能。
    ⑨UNION:将多个查询结果合并(默认去掉重复的记录)。
    ⑩ORDER BY:进⾏相应的排序。
    LIMIT 1:显⽰输出⼀条数据记录(元组)
DPL (Data Processing Language):事务处理语⾔
事务处理语句能确保被DML语句影响的表的所有⾏及时得以更新DPL语句包括BEGIN TRANSACTION、COMMIT和ROLLBACK
  -- 实际使⽤⽰例
  -- 开启事务t1 BEGIN {TRAN | TRANSACTION} [transaction_name]
  begin tran t1;
  -- 事务中的多个操作 insert/update/delete
  update ...;
  insert into ...;
  update ...;
  delete ...;
  -- 事务commit或者rollback
  commit;
CCL (Cursor Control Language):指针控制语⾔
DECLARE CURSOR、FETCH INTO和UPDATE WHERE CURRENT⽤于对⼀个或多个表单独⾏的操作

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。