详细讲解数据库与表的创建与管理
在这篇文章中,我们将详细介绍如何在 MySQL 中创建和管理数据库与表。这些是数据库开发中最基础的操作,掌握了它们,你就能够有效地管理和维护数据库。文章将以简明易懂的方式,通过示例代码帮助你更好地理解每一个操作。
一、创建数据库的方法
创建数据库是使用MySQL的第一步。以下是创建数据库的基本方法:
复制
CREATE DATABASE database_name;1.
例如,创建一个名为 my_company 的数据库:
复制
CREATE DATABASE my_company;1.
如果你想要在数据库不存在时才创建它,可以使用:
复制
CREATE DATABASE IF NOT EXISTS my_company;1.
你还可以在创建数据库时指定字符集和排序规则:
复制
CREATE DATABASE my_company
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;1.2.3.
二、数据库的基本操作
1. 查看数据库要查看所有存在的数据库:
复制
SHOW DATABASES;1.
要查看特定数据库的创建语句:
复制
SHOW CREATE DATABASE my_company;1.
你可以修改数据库的字符集和排序规则:
复制
ALTER DATABASE my_company
CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;1.2.3.
删除数据库的语法如下:
复制
DROP DATABASE my_company;1.
为了安全起见,你可以加上 IF EXISTS 子句:
复制
DROP DATABASE IF EXISTS my_company;1.
三、创建表的语法与结构
创建表是组织数据的关键步骤。以下是创建表的基本语法:
复制
CREATE TABLE table_name (
column1 datatype constraint,
column2 datatype constraint,
column3 datatype constraint,
....
);1.2.3.4.5.6.
例如,创建一个 employees 表:
复制
CREATE TABLE employees (
id INT AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE,
hire_date DATE,
salary DECIMAL(10, 2)
);1.2.3.4.5.6.7.8.
这个例子展示了几个重要的概念:
AUTO_INCREMENT: 自动递增PRIMARY KEY: 主键约束NOT NULL: 非空约束UNIQUE: 唯一约束四、表的基本操作
1. 查看表查看数据库中所有的表:
复制
SHOW TABLES;1.
查看表的结构:
复制
DESCRIBE employees;1.
或者:
复制
SHOW COLUMNS FROM employees;1.
添加新列:
复制
ALTER TABLE employees
ADD COLUMN department VARCHAR(50);1.2.
修改列的数据类型:
复制
ALTER TABLE employees
MODIFY COLUMN salary DECIMAL(12, 2);1.2.
删除列:
复制
ALTER TABLE employees
DROP COLUMN department;1.2.
删除表的语法如下:
复制
DROP TABLE employees;1.
同样,为了安全起见,可以加上 IF EXISTS:
复制
DROP TABLE IF EXISTS employees;1.
五、数据类型与约束
1. 常用数据类型(1) 数值类型:
INT: 整数DECIMAL(M,D): 精确小数,M是总位数,D是小数位数(2) 字符串类型:
VARCHAR(n): 可变长字符串CHAR(n): 固定长度字符串TEXT: 长文本(3) 日期和时间类型:
DATE: 日期TIME: 时间DATETIME: 日期和时间TIMESTAMP: 时间戳(4) 布尔类型:
BOOLEAN 或 BOOL: 布尔值(TRUE 或 FALSE)2. 约束PRIMARY KEY: 主键约束FOREIGN KEY: 外键约束UNIQUE: 唯一约束NOT NULL: 非空约束CHECK: 检查约束(MySQL 8.0.16 及以上版本支持)DEFAULT: 默认值约束例如,创建一个带有这些约束的 orders 表:
复制
CREATE TABLE orders (
order_id INT AUTO_INCREMENT PRIMARY KEY,
customer_id INT NOT NULL,
order_date DATETIME DEFAULT CURRENT_TIMESTAMP,
total_amount DECIMAL(10, 2) CHECK (total_amount > 0),
status ENUM(pending, shipped, delivered) DEFAULT pending,
FOREIGN KEY (customer_id) REFERENCES customers(id)
);1.2.3.4.5.6.7.8.
这个例子展示了:
主键约束(PRIMARY KEY)非空约束(NOT NULL)默认值约束(DEFAULT)检查约束(CHECK)外键约束(FOREIGN KEY)结语
掌握数据库和表的创建与管理是使用MySQL的基础。本文详细介绍了创建和管理数据库与表的方法,包括基本操作、数据类型和约束的使用。通过实践这些操作,你将能够更好地设计和管理你的数据库结构。良好的数据库设计是高效和可维护的数据库应用程序的基础。在实际应用中,要根据具体需求选择合适的数据类型和约束,以确保数据的完整性和一致性。
THE END