首页 > 数据库 >SQL语句中 DDL 、DML 、DQL 、DCL学习、看板

SQL语句中 DDL 、DML 、DQL 、DCL学习、看板

时间:2024-04-02 15:59:03浏览次数:27  
标签:语句 DCL 列名 SQL DML 表名 操作 数据 DDL

DDL语句(数据定义语言)

DDL(Data Definition Language) 语句:数据定义语言,主要是进行定义/改变表的结构,数据类型,表之间的连接操作.常用的语句关键字有CREATE,DROP,ALTER等.

CREATE TABLE 表名(
列名1 数据类型,
列名2 数据类型,
列名3 数据类型,
...
)
​
ALTER TABLE 表名;
eg:ALTER TABLE 表名 ADD 列名 数据类型;(添加一个列)
    ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型;(修改列名)
    ALTER TABLE 表名 DROP 列名;
​
DROP TABLE 表名;
DROP DATABASE 数据库名;
注意事项:
  • 谨慎操作:DDL语句对数据库结构有直接影响,操作不慎可能导致数据丢失或数据库结构混乱。
  • 验证语句:在执行DDL语句之前,务必仔细验证语句的正确性,避免不必要的错误。
  • 备份数据:在执行重要的DDL操作之前,最好备份数据库,以防操作失败时能够恢复数据。
DML语句(数据操作语言)

DML(Data Manipulation Language) 语句:数据操纵语言,主要是对数据进行增加,删除,修改操作.常用的语句关键字有 INSERT,UPDATE,DELETE等.

INSERT INTO 表名 (字段1,字段2,...) values (某值,某值,...),(某值,某值,...);
​
UPDATE 表名 SET 列名=新值 WHERE 限定条件;
​
DELETE FROM 表名 WHERE 限定条件;
注意事项:
  • 批量处理:对大量数据进行操作时,考虑使用批量处理机制,以提高效率。
  • 避免全表操作:避免对整个表进行操作,尽量使用条件来限制操作的范围。
  • 控制事务:在进行数据操作时,可以使用事务来保证操作的原子性,避免数据不一致性。
DDL语句与DML语句的主要区别:
DDLDML
名称数据定义语言数据操纵语言
区别对数据库内部的对象进行创建,删除,修改操作只是对表内部数据进行操作(不涉及到表的定义,结构的修改,也不涉及到其他对象)
DQL语句(数据查询语言)

DQL(Data Query Language) 语句:数据查询语言,主要是对数据进行查询操作.常用关键字有select,from,where等.

SELECT 列名 FROM 表名 WHERE 限定条件;
注意事项:
  • 优化查询:编写查询语句时要考虑优化,利用索引、合适的连接方式等提高查询效率。
  • 避免使用通配符:避免在查询中过度使用通配符,以免影响查询性能。
DCL语句(数据控制语言)

DCL(Data Control Language) 语句:数据控制语言,主要是用来设置/更改数据库用户权限.常用的关键字有GRANT,REVOKE等.

注意事项:
  • 严格控制权限:在授予权限时,要确保只授予必要的权限,避免权限过大导致安全风险。
  • 定期审计:定期审计数据库用户的权限,及时调整权限以保证数据库安全。

标签:语句,DCL,列名,SQL,DML,表名,操作,数据,DDL
From: https://blog.csdn.net/hulknnn/article/details/137263997

相关文章

  • Mybatis 打印完整的SQL
    1、c++\033输出设置2、packageorg.jeecg.config.mybatis;importlombok.extern.slf4j.Slf4j;importorg.apache.ibatis.executor.parameter.ParameterHandler;importorg.apache.ibatis.executor.statement.StatementHandler;importorg.apache.ibatis.mapping.BoundSql......
  • MySQL分组查询实例
    DDL——学生表——成绩表CREATETABLE`student`(`id`int(11)NOTNULLAUTO_INCREMENTCOMMENT'学号',`createDate`datetimeDEFAULTNULL,`userName`varchar(20)DEFAULTNULL,`pwd`varchar(36)DEFAULTNULL,`phone`varchar(11)DEFAULTNULL,`ag......
  • 【附源码】计算机毕业设计银行资金账户管理系统(java+springboot+mysql+mybatis+论文)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义银行资金账户管理系统是一种基于互联网技术的信息化管理平台,旨在提高银行资金管理的效率和安全性。随着金融市场的快速发展和金融产品的多样化,银行资金管理面临着......
  • 【附源码】计算机毕业设计疫情居家隔离服务系统(java+springboot+mysql+mybatis+论文)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义随着新冠疫情的爆发,居家隔离成为了防控疫情的重要手段之一。然而,在实际操作中,居家隔离存在着许多问题,如隔离人员的生活保障、健康状况监测等。因此,设计并实现一个......
  • MySQL主从同步延迟Seconds_Behind_Master很大
    1.mysql> showslavestatus\G  查看延迟6天多,也是很神奇了2.查看 Master_Log_File和Relay_Master_Log_File对比,可以说明中继日志差100多位置,所有定位是中继日志问题 3.查看中继日志文件,密密麻麻的relay-bin文件 4.查看优化配置mysql>showvariableslike'%......
  • Windows10基于docker的mysql8的备份和拷贝文件到宿主机
    Windows10基于docker的mysql8的备份和拷贝文件到宿主机##环境说明操作系统:windows10docker:v4.25.0mysql:8##进入容器dockerexec-itmysql8/bin/bash ##备份特定数据库mysqldump-uroot-pMm123456jeesite>jeesite.sql ##退出容器 exit ##将备份......
  • postgresql主从部署、pgpool代理中间件部署
    目录一、安装postgresql准备工作1.配置节点间postgres普通用户免密登录2.执行初始化脚本二、主从部署1.master执行2.slave执行三、查看主从数据库状态1.master执行2.slave执行五、配置pgpool中间件1.编译安装pgpool2.配置准备3.启动服务六、pgsql定时备份和监控shell脚本1.pgsql定......
  • MySQL分组查询实例
    DDL——学生表——成绩表CREATETABLE`result`(`rid`int(11)NOTNULLAUTO_INCREMENTCOMMENT'成绩编号',`testName`varchar(255)DEFAULTNULLCOMMENT'测试名称',`score`double(4,2)DEFAULTNULLCOMMENT'成绩',`studentId`int(11)DEFAU......
  • MySQL分组查询实例
    1、DDL——学生表——成绩表CREATETABLE`result`(`rid`int(11)NOTNULLAUTO_INCREMENTCOMMENT'成绩编号',`testName`varchar(255)DEFAULTNULLCOMMENT'测试名称',`score`double(4,2)DEFAULTNULLCOMMENT'成绩',`studentId`int(11)DEF......
  • MySQL分组查询实例
    DDL——学生表——成绩表CREATETABLE`student`(`id`int(11)NOTNULLAUTO_INCREMENTCOMMENT'学号',`createDate`datetimeDEFAULTNULL,`userName`varchar(20)DEFAULTNULL,`pwd`varchar(36)DEFAULTNULL,`phone`varchar(11)DEFAULTNULL,`ag......