在MySQL中创建数据库和表是通过SQL语句完成的。以下是创建数据库和表的基本步骤和示例:
创建数据库
```sql
CREATE DATABASE database_name;
```
- `database_name` 是你要创建的数据库的名称。
创建表
在创建表之前,你需要确保已经选择了一个数据库。可以使用以下语句选择数据库:
```sql
USE database_name;
```
然后,使用 `CREATE TABLE` 语句创建表:
```sql
CREATE TABLE table_name (
column1 datatype [NOT NULL] [AUTO_INCREMENT],
column2 datatype [NOT NULL],
...
PRIMARY KEY (one_or_more_columns)
) ENGINE=storage_engine;
```
-
`table_name` 是你要创建的表的名称。
-
`column1`, `column2`, ... 是表的列名。
-
`datatype` 是列的数据类型,例如 `INT`, `VARCHAR`, `DATETIME` 等。
-
`NOT NULL` 表示该列不能有空值。
-
`AUTO_INCREMENT` 通常用于主键列,表示该列的值会自动递增。
-
`PRIMARY KEY` 用于定义表的主键,可以是单列或多列组合。
-
`storage_engine` 是存储引擎,例如 `InnoDB` 或 `MyISAM`。如果省略,MySQL会使用默认的存储引擎。
示例
假设我们要创建一个名为 `students` 的数据库,然后在该数据库中创建一个 `student_info` 表,包含学生的ID、姓名、年龄和邮箱:
```sql
-- 创建数据库
CREATE DATABASE students;
-- 选择数据库
USE students;
-- 创建表
CREATE TABLE student_info (
student_id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
age INT,
email VARCHAR(150),
PRIMARY KEY (student_id)
) ENGINE=InnoDB;
```
在这个例子中,`student_id` 是主键列,它会自动递增,每次插入新学生信息时不需要手动指定这个值。`name` 列不允许为空,而 `age` 和 `email` 列可以为空。
创建数据库和表后,你可以使用 `INSERT`、`SELECT`、`UPDATE` 和 `DELETE` 等SQL语句进行数据的增删改查操作。记得在执行这些操作之前,确保你已经选择了正确的数据库。