MySQL库表操作 作业

题目:

1. sql语句分为几类?
2. 表的约束有哪些,分别是什么,设置的语法分别是什么?
**3.**做出班级表,学生表的E-R图,数据库模型图,以及核心的sql语句.

1. MySQL致力于支持全套ANSI/ISO SQL标准。在MySQL数据库中,SQL语句主要可以划分为以下几类:

> DDL(Data Definition Language):数据定义语言,定义对数据库对象(库、表、列、索引)的操作。

> CREATE、DROP、ALTER、RENAME、 TRUNCATE等

> DML(Data Manipulation Language): 数据操作语言,定义对数据库记录的操作。

> INSERT、DELETE、UPDATE、SELECT等

> DCL(Data Control Language): 数据控制语言,定义对数据库、表、字段、用户的访问权限和安全级别。

> GRANT、REVOKE等

> Transaction Control:事务控制

> COMMIT、ROLLBACK、SAVEPOINT等

2. 表的约束:

NOT NULL 非空

UNIQUE key 唯一键

PRIMARY KEY 主键 非空+唯一

FOREIGN KEY 外键 引用性

CHECK 检查

默认值约束

约束作为数据库对象,存放在系统表中,也有自己的名字

创建约束的时机

在建表的同时创建

建表后创建(修改表)

可定义列级或表级约束

有单列约束和多列约束

定义约束的语法

列级约束 :在定义列的同时定义约束
语法 :列定义 约束类型,

表级约束 :在定义了所有列之后定义的约束
语法

列定义

CONSTRAINT 约束名\] 约束类型(列名) **约束名的取名规则** 推荐采用:表名_列名_约束类型简介 约束可以在创建表时就定义,也可以在创建完后再添加 **语法** : alter table 表名 add constraint 约束名 约束类型(要约束的列名) #### 4. E-R图、数据库模型图 ![](https://file.jishuzhan.net/article/1753437585889300482/9a11d228b612fc838a05babcfadee35d.webp) #### 核心sql语句: ```sql CREATE TABLE 'Banji' ( 'BanjiId' int NOT NULL AUTO_INCRMENT COMMENT '班级编号', 'BanjiMingCheng' varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '班级名称', 'BanJiDiZhi' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '班级地址', PRIMARY KEY (BanjiId) ) ENGING =InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci; ``` ##### 查看班级表: ![](https://file.jishuzhan.net/article/1753437585889300482/3fcfc66931c4f3529a7f86de32265702.webp)

相关推荐
JoySSLLian2 小时前
手把手教你安装免费SSL证书(附宝塔/Nginx/Apache配置教程)
网络·人工智能·网络协议·tcp/ip·nginx·apache·ssl
Zach_yuan2 小时前
自定义协议:实现网络计算器
linux·服务器·开发语言·网络
Re.不晚2 小时前
MySQL进阶之战——索引、事务与锁、高可用架构的三重奏
数据库·mysql·架构
老邓计算机毕设2 小时前
SSM智慧社区信息化服务平台4v5hv(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·智慧社区、·信息化平台
猫头虎2 小时前
如何解决 OpenClaw “Pairing required” 报错:两种官方解决方案详解
网络·windows·网络协议·macos·智能路由器·pip·scipy
麦聪聊数据3 小时前
为何通用堡垒机无法在数据库运维中实现精准风控?
数据库·sql·安全·低代码·架构
2301_790300963 小时前
Python数据库操作:SQLAlchemy ORM指南
jvm·数据库·python
charlotte102410243 小时前
高并发:关于在等待学校教务系统选课时的碎碎念
java·运维·网络
m0_736919103 小时前
用Pandas处理时间序列数据(Time Series)
jvm·数据库·python
亓才孓3 小时前
[JDBC]PreparedStatement替代Statement
java·数据库