当前位置: 首页 > news >正文

sql1(DDL+DML)

一.数据库相关概念
数据库(DB):按照一定的数据结构来组织、存储和管理数据的仓库
数据库管理系统(DBMS):一种操纵和管理数据库的大型软件,用于创建、使用和维护数据库
关系型数据库(RDBMS):由多张相互连接的二维表组成的数据库
非关系型数据库:泛指非关系型数据库,是对关系型数据库的补充
结构化查询语言(SQL):一种操作关系型数据库的编程语言,定义了一套操作关系型数据库统一SQL标准

二、SQL通用语法

  1. SQL语句可以单行或多行书写,以分号结尾
  2. SQL语句可以使用空格/缩进来增强语句的可读性
  3. 不区分大小写,关键字建议使用大写
  4. 注释
    4.1. 单行注释:-- 注释内容 或 # 注释内容(MySQL特有)
    4.2. 多行注释: /* 注释内容 */

三、SQL分类

  1. DDL:数据定义语言,用来定义数据库对象(数据库,表,字段)
  2. DML:数据操作语言,用来对数据库表中的数据进行增删改
  3. DQL:数据查询语言,用来查询数据库中表的记录
  4. DCL:数据控制语言,用来创建数据库用户、控制数据库的访问权限

四、数据定义语言DDL
1.DDL-数据库操作
1.1 查询所有数据库 SHOW DATABASES;

1.2 查询当前数据库 SELECT DATABASE();

1.3 创建数据库 CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];
(默认的字符集和排序规则分别是utf8mb4字符集和utf8mb4_unicode_ci排序规则,也是推荐使用的字符集和排序规则)

1.4 删除数据库 DROP DATABASE [IF EXISTS] 数据库名;

1.5 使用数据库 USE 数据库名;

  1. DDL-表操作-查询
    2.1 查询当前数据库所有表 SHOW TABLES;

2.2 查询表结构 DESC 表名;

2.3 查询指定表的建表语句 SHOW CREATE TABLE 表名;

3.DDL-表操作-创建
CREATE TABLE 表名(
字段1 字段1类型 [COMMENT 字段1注释],
字段2 字段2类型 [COMMENT 字段2注释],
...
字段n 字段n类型 [COMMENT 字段n注释]
)[COMMENT 表注释];

  1. DDL-表操作-数据类型
    4.1 整数类型
    TINYINT:1字节,小整数,范围:-128 ~ 127(有符号)或 0 ~ 255(无符号)

SMALLINT:2字节,大整数,范围:-32,768 ~ 32,767(有符号)或 0 ~ 65,535(无符号)

MEDIUMINT:3字节,大整数,范围:-8,388,608 ~ 8,388,607(有符号)或 0 ~ 16,777,215(无符号)

INT或INTEGER:4字节,大整数,范围:-2,147,483,648 ~ 2,147,483,647(有符号)或 0 ~ 4,294,967,295(无符号)

BIGINT:8字节,极大整数,范围:-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807(有符号)或 0 ~ 18,446,744,073,709,551,615(无符号)

4.2 浮点数类型:
FLOAT:4字节,单精度浮点数,范围:-3.402823466 E+38 ~ 3.402823466351 E+38(有符号)或 0 和 1.175494351 E-38 ~ 3.402823466 E+38,近似值

DOUBLE:8字节,双精度浮点数,范围:-1.7976931348623157 E+308 ~ 1.7976931348623157 E+308 或 0 和 2.2250738585072014 E-308 ~ 1.7976931348623157E+308,近似值

DECIMAL(M, D):精确值,M 是总位数,D 是小数位数。例如,DECIMAL(5, 2)可以存储 123.45

4.3 字符串类型
CHAR(N):固定长度字符串,最多 255 个字符

VARCHAR(N):可变长度字符串,最多 65,535 个字符

TINYBLOB:不超过 255 个字符的二进制数据

TINYTEXT:短文本字符串,最多 255 个字符

BLOB:二进制形式的长文本数据,最多 65,535 个字符

TEXT:长文本数据,最多65,535个字符

MEDIUMBLOB:二进制形式的中等长度文本数据,最多 16,777,215 个字符

MEDIUMTEXT:中等长度文本数据,最多 16,777,215 个字符

LONGBLOB:二进制形式的极大文本数据,最多 4,294,967,295 个字符

LONGTEXT:极大文本数据,最多 4,294,967,295 个字符

4.4 日期时间类型
DATE:日期值,3字节,格式为YYYY-MM-DD,范围是1000-01-01 至 9999-12-31

TIME:时间值或持续时间,3字节,格式为HH:MM:SS,范围是-838:59:59 至 838:59:59

YEAR:年份值,1字节,格式为YYYY,范围是1901 至 2155

DATETIME:混合日期和时间值,8字节,格式为YYYY-MM-DD HH:MM:SS,范围是1000-01-01 00:00:00 至 9999-12-31 23:59:59

TIMESTAMP:混合日期和时间值,时间戳,4字节,格式为YYYY-MM-DD HH:MM:SS,范围是1970-01-01 00:00:01 至 2038-01-19 03:14:07

4.5 布尔类型
BOOLEAN或BOOL:底层会自动转换成TINYINT(1),赋值时可以用FALSE和TRUE,也可以使用0和1

4.6 枚举类型
ENUM:示例ENUM('value1', 'value2', ..., 'valueN')
只能存字符串,列的值只能是预定义列表中的一个
如果没有指定默认值,那么可以取空值NULL,指定默认值后会默认取默认值,如果未指定默认值且不能为空,会默认取第一个值
索引会按照列表顺序从1开始,空字符串 '' 的索引为 0(如果允许空值)
5.DDL-表操作-修改
添加字段 ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束];

修改数据类型 ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);

修改字段名和字段类型 ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];

删除字段 ALTER TABLE 表名 DROP 字段名;

修改表名 ALTER TABLE 表名 RENAME TO 新表名;

6 DDL-表操作-删除
删除表 DROP TABLE [IF EXISTS] 表名;

删除指定表,并重新创建该表 TRUNCATE TABLE 表名;

五.数据操作语言DML

  1. DML-添加数据

1.1给指定字段添加数据 INSERT INTO 表名 (字段名1,字段名2,...) VALUES (值1,值2,...);

1.2给全部字段添加数据 INSERT INTO 表名 VALUES (值1,值2,...);

1.3 批量添加数据
INSERT INTO 表名 (字段名1,字段名2,...) VALUES (值1,值2,...),(值1,值2,...),...,(值1,值2,...);
INSERT INTO 表名 VALUES (值1,值2,...),(值1,值2,...),...,(值1,值2,...);

注:插入数据时,指定的字段顺序需要与值的顺序是一一对应的
字符串和日期型数据应该包含在单引号中
插入的数据大小,应该在字段的规定范围内
2 DML-修改数据
UPDATE 表名 SET 字段1=值1,字段2=值2,...[WHERE 条件];

注:如果没有条件,会修改整张表的所有数据

3 DML-删除数据
DELETE FROM 表名 [WHERE 条件];

注: DELETE如果没有指定条件,会删除整张表的所有数据
DELETE不能删除某一个字段的值(可以使用UPDATE)
DELETE仅仅删除表中的数据,DROP会把整张表和数据一起删除

http://www.jsqmd.com/news/886118/

相关文章:

  • Flowable监听器分配部门经理:手把手教你集成公司组织架构,实现真正动态审批流
  • 钦州梅雨季来临,房屋漏水抓紧修!2026最新房屋漏水维修公司TOP5调研盘点!卫生间免砸砖防水、楼顶外墙、阳光房+地下室渗漏解决方案解析 - 防水百科
  • 番茄小说下载器:一图看懂三大核心能力与零门槛使用指南
  • 如何5分钟内将位图转换为无限放大的矢量图:vectorizer深度解析
  • 5种方式让Gcovr成为你的C/C++代码覆盖率分析神器
  • JMeter-Rabbit-AMQP插件:消息队列性能测试的完整指南
  • 简道云进销存方案深度解读:零代码如何覆盖订单-仓库全链路?
  • Burp Suite渗透工作流设计:30款插件的阶段化实战应用
  • 图像矢量化完整指南:3分钟将普通图片升级为无限放大矢量图
  • 淘宝任务自动化:如何用智能脚本每天节省25分钟
  • 如何快速掌握猫抓浏览器扩展:网页媒体资源嗅探与下载的完整指南
  • FIFA 23生涯模式修改器终极指南:免费开源工具打造梦幻球队
  • java基础-多线程(1)
  • 索尼相机隐藏功能完全解锁:PMCA-RE逆向工程工具终极指南
  • Yalmip调试秘籍:用好verbose、debug和warning,快速定位模型报错与性能瓶颈
  • 什么是AI_Agent_Harness?从概念到实战全面解
  • SBTI 人格测试
  • 当进销存系统进入“自己造”时代:2026年零代码如何重塑中小企业数字化格局
  • 2026深圳搬家价格全解析 贵重物品保险费用明细指南 - 从来都是英雄出少年
  • 深圳梅雨季来临,房屋漏水抓紧修!2026最新房屋漏水维修公司TOP5调研盘点!卫生间免砸砖防水、楼顶外墙、阳光房+地下室渗漏解决方案解析 - 防水百科
  • 极域电子教室破解指南:3步快速解除控制限制的完整教程
  • Windows 本地运行轻量级 代码仓库 gogs
  • 跨平台资源下载神器:3分钟掌握智能拦截与批量下载技巧
  • Universal-Updater性能优化技巧:3DS内存受限环境下的高效编程
  • 什么是Agent?一篇讲清楚
  • 珠海梅雨季来临,房屋漏水抓紧修!2026最新房屋漏水维修公司TOP5调研盘点!卫生间免砸砖防水、楼顶外墙、阳光房+地下室渗漏解决方案解析 - 防水百科
  • 基于PIC18F4525的智能温湿度监控系统设计与实现
  • Horizon高级技巧:邮件分发与Webhook推送功能实战指南
  • TorchDynamo与TorchInductor:PyTorch编译器生态的完整解析
  • 20251904 2025-2026-2 《网络攻防实践》第八周作业