MySQL数据库操作详解:从基础到进阶
需积分: 9 198 浏览量
更新于2024-08-12
收藏 45KB TXT 举报
"MySQL笔记整理,包括数据库基础、对库和表的操作,以及建表约束等基础知识。"
在MySQL中,数据库管理和操作是基础且至关重要的部分。以下是对这些概念的详细解释:
### 数据库基础
- **DDL (Data Definition Language)**: 包括创建(CREATE)、修改(ALTER)和删除(DROP)数据结构,如数据库和表。
- **DML (Data Manipulation Language)**: 用于插入(INSERT)、更新(UPDATE)和删除(DELETE)数据。
- **DQL (Data Query Language)**: 用于检索数据,主要由SELECT语句构成。
- **TCL (Transaction Control Language)**: 管理数据库事务,包括提交(COMMIT)、回滚(ROLLBACK)和保存点(SAVEPOINT)。
- **DCL (Data Control Language)**: 用于管理数据库权限和访问控制。
### 对数据库的操作
1. **查看数据库**: 使用`SHOW DATABASES;`命令可以显示所有已创建的数据库。
2. **创建数据库**: `CREATE DATABASE 数据库名;` 创建新数据库,大小写不敏感。
3. **删除数据库**: `DROP DATABASE 数据库名;` 删除指定数据库。
4. **使用数据库**: `USE 数据库名;` 选择并切换到特定数据库。
5. **查看当前数据库**: `SELECT DATABASE();` 返回当前正在使用的数据库。
6. **查看数据表**: 在特定数据库下,使用`SHOW TABLES;`来列出所有数据表。
### 对表的操作
1. **创建表**: 通过`CREATE TABLE 表名(...);`定义表结构,字段间用逗号分隔,如`id INT, name VARCHAR(20), age INT`,最后一个字段后面不加逗号。
2. **查看表结构**: `DESC 表名;` 显示表的列信息。
3. **删除数据表**: `DROP TABLE 表名;` 删除数据表。
4. **修改表的编码格式**: `ALTER TABLE 数据表名 CONVERT TO CHARACTER SET utf8;` 更改表的字符集。
5. **清空表**: `TRUNCATE TABLE 表格名;` 清除所有数据但保留表结构。
6. **建表约束**
- **主键约束** (`PRIMARY KEY`): 唯一标识每条记录,如`id INT PRIMARY KEY AUTO_INCREMENT`,自动递增。
- **非空约束** (`NOT NULL`): 确保字段不允许为空,如`name VARCHAR(20) NOT NULL`。
- **唯一约束** (`UNIQUE`): 值必须唯一,如`name VARCHAR(20) NOT NULL UNIQUE`。
- **枚举约束** (`ENUM`): 限制字段值为预设的一组值,如`sex ENUM('男', '女') DEFAULT '男'`。
- **集合约束** (`SET`): 字段可以有预设值集合中的多个值,如`likes SET('音乐', '阅读', '运动', '旅游')`。
- **默认值约束** (`DEFAULT`): 给字段设置默认值,如`sex DEFAULT '男'`。
- **注释** (`COMMENT`): 添加对字段或表的描述,如`登记日期 DATETIME COMMENT "登记日期"`。
在实际工作中,理解并熟练掌握这些基本操作是MySQL数据库管理的基础。了解如何创建、操作和管理数据库及表,将有助于更高效地进行数据存储和处理。同时,熟悉各种约束可以帮助确保数据的完整性和一致性。
449 浏览量
190 浏览量
147 浏览量
176 浏览量
215 浏览量
146 浏览量
266 浏览量
154 浏览量
247 浏览量

ye13865865124
- 粉丝: 0
最新资源
- 掌握MATLAB中不同SVM工具箱的多类分类与函数拟合应用
- 易窗颜色抓取软件:简单绿色工具
- VS2010中使用QT连接MySQL数据库测试程序源码解析
- PQEngine:PHP图形用户界面(GUI)库的深入探索
- MeteorFriends: 管理朋友请求与好友列表的JavaScript程序包
- 第三届微步情报大会:深入解析网络安全的最新趋势
- IQ测试软件V1.3.0.0正式版发布:功能优化与错误修复
- 全面技术项目源码合集:企业级HTML5网页与实践指南
- VC++6.0绿色完整版兼容多系统安装指南
- 支付宝即时到账收款与退款接口详解
- 新型不连续导电模式V_2C控制Boost变换器分析
- 深入解析快速排序算法的C++实现
- 利用MyBatis实现Oracle映射文件自动生成
- vim-autosurround插件:智能化管理代码中的括号与引号
- Bitmap转byte[]实例教程与应用
- Qt YUV在CentOS 7下的亲测Demo教程