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

数据库第3章 数据库定义 笔记

一、SQL与数据库定义语言(DDL)

SQL分为四大类:

1. DDL(数据定义语言):负责建、删、改数据库和表结构
2. DML(数据操纵语言):负责增删改查表里的数据
3. DQL(数据查询语言):核心就是SELECT查询
4. DCL(数据控制语言):权限、角色管理

第3章核心就是DDL操作。
1. 数据库的定义、修改、删除
- 创建数据库
CREATE DATABASE IF NOT EXISTS student_db;
- 查看所有数据库
SHOW DATABASES;
- 使用/切换指定数据库
USE student_db;
- 修改数据库字符集
ALTER DATABASE student_db CHARACTER SET utf8mb4;
-删除数据库
DROP DATABASE IF EXISTS student_db;

2. 数据表的定义(建表)
建表基础语法,必须先选好数据库
CREATE TABLE IF NOT EXISTS student(
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '学生学号主键',
name VARCHAR(20) NOT NULL COMMENT '学生姓名',
age INT COMMENT '学生年龄',
gender VARCHAR(4) DEFAULT '男' COMMENT '性别',
major VARCHAR(30) COMMENT '专业',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'
) COMMENT = '学生信息表';

常用字段约束
- 主键: PRIMARY KEY 唯一非空,一张表只有一个
- 非空: NOT NULL 字段不能为空
- 唯一: UNIQUE 字段值不能重复
- 默认值: DEFAULT 没填内容时自动填充预设值
- 自增: AUTO_INCREMENT 数值自动+1
- 注释: COMMENT 给字段/表加说明
3. 修改数据表结构
-- 添加新字段
ALTER TABLE student ADD phone VARCHAR(11);

-- 修改字段类型和名称
ALTER TABLE student CHANGE phone tel VARCHAR(11);

-- 修改字段属性
ALTER TABLE student MODIFY age TINYINT NOT NULL;

-- 删除字段
ALTER TABLE student DROP COLUMN tel;

-- 修改表名
ALTER TABLE student RENAME TO stu_info;
4. 删除 & 清空表
-- 整张表直接删除
DROP TABLE IF EXISTS stu_info;

-- 清空表里所有数据,保留表结构
TRUNCATE TABLE student;




数据库第4章 数据库操作 笔记
本章核心是DML数据操纵语言,对表里的数据做增、删、改、基础查询。
一、数据插入(INSERT)
1. 全字段插入
INSERT INTO student(id,name,age,gender,major)
VALUES(1,'张三',19,'男','人工智能技术应用');
2. 省略自增主键、部分字段插入
INSERT INTO student(name,age,major)
VALUES('李四',20,'人工智能技术应用');
3. 批量一次性插入多条数据
INSERT INTO student(name,age,major)
VALUES
('王五',19,'软件技术'),
('赵六',21,'大数据技术');


二、数据更新修改(UPDATE)
非常重要:UPDATE必须加WHERE条件!不然会修改全表所有数据!
-- 单条数据修改
UPDATE student
SET age = 20 , major = '计算机应用'
WHERE name = '张三';

-- 批量条件修改
UPDATE student
SET age = age + 1
WHERE gender = '男';
三、数据删除(DELETE)
同样必须加WHERE条件,否则清空全表!
-- 删除指定一条数据
DELETE FROM student WHERE name = '赵六';

-- 删除符合条件的一批数据
DELETE FROM student WHERE age > 22;
DELETE 和 TRUNCATE 区别
对比项 DELETE TRUNCATE
作用 删除部分/全部数据 清空整张表全部数据
可回滚 可以事务回滚恢复 无法回滚
自增 自增ID不会重置 自增ID会从头重置

四、基础数据查询(基础DQL)

1. 查询整张表所有数据
SELECT * FROM student;
2. 查询指定字段
SELECT name,age,major FROM student;
3. 条件查询(WHERE过滤)
-- 单条件
SELECT * FROM student WHERE age = 19;

-- 多条件 AND 同时满足 / OR 满足其一
SELECT * FROM student
WHERE age >=18 AND major = '人工智能技术应用';
4. 排序查询
-- 升序 ASC(默认) 降序 DESC
SELECT * FROM student ORDER BY age DESC;

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

相关文章:

  • 告别千人一面:NewGAN-Manager 如何让你的 Football Manager 游戏体验焕然一新
  • Ubuntu 16.04 32位系统下RT-Thread开发环境搭建全攻略
  • 带延时功能的电压检测系列晨芯阳HC809
  • 别再为ST7789屏幕移植发愁了!一份代码搞定STM32/51/Arduino(附完整工程)
  • 川南二手物资回收服务机构2026年客观排行一览:宜宾荣生其商贸有限公司联系/办公座椅回收/办公设备回收/大型卖场回收/选择指南 - 优质品牌商家
  • Purple Pi OH开发板适配OpenHarmony 5.0全流程解析与实战
  • 自支撑LiPON薄膜制备与零外压锂沉积机制解析
  • Claude Code自定义命令:打造你的专属提示词库
  • 批量更新SKC轮播图这事儿,我用一次就回不去了
  • 使用 Taotoken CLI 工具一键为团队统一配置开发环境
  • 检索增强生成RAG基础架构与手动模拟
  • Purple Pi OH开发板成功适配OpenHarmony 5.0:从硬件选型到应用开发全解析
  • MTK工具箱进阶玩法:备份手机NV基带、解包Super.img,再也不怕信号丢失
  • 3步掌握TEdit地图编辑器:泰拉瑞亚终极创作工具完全指南
  • 深度学习研究者必知的8大神经网络架构:从基础原理到创新应用
  • Kubernetes Service 类型深度解析:从 ClusterIP 到 LoadBalancer
  • 3步彻底解决Windows程序启动失败:VisualCppRedist AIO终极修复指南
  • Matlab求解微分代数方程:从核心概念到工程实践
  • Perplexity职业发展查询全链路拆解(2024最新算法逻辑+真实用户数据验证)
  • 实时商业情报不再滞后,Perplexity新闻搜索配置全拆解,从入门到日均处理200+信源
  • 避开移相内卷:手把手推导DAB变频控制的传递函数,搞定PI参数设计
  • HCY71xx晨芯阳线性LED恒流驱动器芯片
  • 企业内网系统安全集成大模型API的密钥管理与审计方案
  • Log4j2漏洞深度复现:从JNDI注入原理到实战RCE利用
  • Vivado FPGA设计:基于IP核的系统级集成与高效开发实践
  • Perplexity字体资源查询失效全链路复盘(从OAuth2.1 Token续期失败→CDN字体包签名过期→浏览器字体回退策略失效)
  • 液压串联弹性驱动器融合的双足机器人运动控制方法【附算法】
  • 别再傻傻分不清了!图像分割模型评估:Dice系数 vs. IOU,到底该用哪个?
  • Orange Pi 5B深度评测:接口、供电与散热全面升级,体验从够用到好用
  • Ecco架构:基于熵编码的GPU内存优化技术解析