数据库之SQL语言的分类

本文详细介绍了SQL语言的五大类别:DDL用于创建、修改和删除数据库对象;DQL用于数据查询;DML负责数据的增删改;DCL控制数据访问权限;TCL则涉及事务管理。通过实例解析了各类SQL语句的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

结构化查询语言(Structured Query Language,简称SQL)是一种数据库查询和程序设计语言。本文将SQL语言分为五种,分别是DDL、DQL、DML、DCL和TCL。下面将详细叙述(为方便阅读,本文所有的SQL语句均为小写)。

一、DDL(Data Definition Language)

数据定义语言:创建、修改或删除数据库中表、视图、索引等对象的操作,常用命令为创建create、修改alter和删除drop。
1.库的管理
  1.库的创建:
    举例:create database if not exists books;//创建库books
  2.库的修改:
    举例:alter database books character set gbk;//更改库的字符集
  3.库的删除:
    举例:drop database if exists books;
2.表的管理
  1.表的创建:举例:
    create table if not exists author(//创建表author
      id int,
      au_name varchar(20),
      nation varchar(10)
    );
  2.表的修改:
    举例:alter table author add column annual double;//添加新列
    举例:alter table author drop column annual;//删除列
    举例:alter table author rename to book_author;
  3.表的删除
    举例:drop table if exists author;

二、DQL(Data Query Language)

数据查询语言:按照指定的组合、条件表达式或排序检索已存在的数据库中数据,不改变数据库中数据,常用命令为select。
  举例:select user_name from student;//查询student表中的user_name字段的值
  举例:select * from student where user_name=‘Tom’;//查询student表中的user_name为Tom的所有信息
  举例:select user_name from student order by length(user_name) asc;//查询student表中的user_name字段的值并按名字的长度排序

三、DML(Data Manipulation Language)

数据操纵语言:向表中添加、删除、修改数据操作,常用命令有insert、update和delete。
  举例:insert into student(id,user_name,password)values(1,‘Tom’,‘123456’);//向student表中插入一条数据
  举例:update student set user_name=‘Jack’,password=‘654321’ where id=1;//修改student表中id为1的学生的user_name和password
  举例:delete from student;//删除student表中的所有数据

四、DCL(Data Control Language)

数据控制语言:用来授予或收回访问数据库的某种特权、对数据库进行监视等操作,常用命令有GRANT(赋予用户某种控制权限)、REVOKE(取消用户某种控制权限)。

五、TCL(Transaction Control Language)

事务控制语言:控制数据操纵事务的发生时间及效果,常用命令有COMMIT(保存已完成事务动作结果)、SAVEPOINT(保存事务相关数据和状态用以可能的回滚操作)、ROLLBACK(恢复事务相关数据至上一次COMMIT操作之后)、SET TRANSACTION(设置事务选项)。

总结

DDL用于操作对象和对象的属性,DDL语言操作的对象是数据库中的对象而非对象所包含的数据,例如:表、视图等等;DML用于操作数据库对象中包含的数据,也就是说操作的单位是记录;DCL用来向用户赋予/取消对数据对象的控制权限;TCL用来对事务进行管理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值