目录
1 数据库基本知识
MySQL 为关系型数据库(Relational Database Management System), 这种所谓的"关系型"可以理解为"表格"的概念, 一个关系型数据库由一个或数个表格组成:
- 数据库: 数据库是一些关联表的集合。
- 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
- 列: 一列(数据元素) 包含了相同类型的数据, 例如邮政编码的数据。
- 行:一行(元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
- 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。
- 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
- 外键:外键用于关联两个表。
- 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
- 索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
- 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。
1.1 MYSQL常见命令
1.连接mysql:mysql -u root -p*****
2.创建数据库:create DTATBASE myDB
/*
CREATE DATABASE mydatabase -- 创建名为 "mydatabase" 的数据库
CHARACTER SET utf8mb4 -- 设置字符集为 utf8mb4,比utf8高级,支持表情字符
COLLATE utf8mb4_general_ci; -- 设置校对规则为 utf8mb4_general_ci,大小写不敏感
*/
/*
如果数据库已经存在,执行 CREATE DATABASE 将导致错误。
为了避免这种情况,你可以在 CREATE DATABASE 语句中添加 IF NOT EXISTS 子句:
CREATE DATABASE IF NOT EXISTS mydatabase;
*/
3.删除数据库:DROP DATABASE RUNOOB;
4.选择数据库,后续操作只针对这个数据库:USE database_name;/mysql -u your_username -p -D your_database
5.创建数据表:
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL,
birthdate DATE,
is_active BOOLEAN DEFAULT TRUE
);
/*
id: 用户 id,整数类型,自增长,作为主键。
username: 用户名,变长字符串,不允许为空。
email: 用户邮箱,变长字符串,不允许为空。
birthdate: 用户的生日,日期类型。
is_active: 用户是否已经激活,布尔类型,默认值为 true。
*/
6.删除数据表:DROP TABLE [IF EXISTS] table_name; //外键约束:如果该表与其他表有外键约束,可能需要先删除外键约束,或者确保依赖关系被处理好。
7.插入数据:
INSERT I