mysql创建数据库和表

在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语句进行数据的增删改查操作。记得在执行这些操作之前,确保你已经选择了正确的数据库。

相关推荐
changshuaihua00114 分钟前
Redis 详解:Redis 与 MySQL 的区别、数据类型与缓存三大问题
数据库·redis·缓存
qetfw23 分钟前
Debian 配置 AIDE 文件完整性检测:基线初始化、变更检查与数据库更新
linux·网络·数据库·debian
Elastic 中国社区官方博客37 分钟前
Elasticsearch:搜索教程 - 语义搜索(三)
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
随风M记忆s2 小时前
Redis支持事务吗?了解Redis的持久化机制吗?
数据库·redis·bootstrap
花青泽3 小时前
5-数据库-SQL注入-联合查询-关键字绕过-day13
数据库·sql
天桥下的卖艺者10 小时前
使用scitable包,两步生成逆概率删失权重(IPCW)
数据库·r语言
隔窗听雨眠10 小时前
AI原生数据库浪潮:国产数据库的架构重构与路径之争
数据库
数据库小学妹10 小时前
数据库选型实战:从数据类型到TCO成本,五维决策框架+九款产品横评
数据库·信创·国产数据库·数据库选型·oracle迁移
神龙天舞200111 小时前
MySQL 备库为什么会延迟好几个小时
android·数据库·mysql
丙氨酸長鏈13 小时前
Web前端入门第 问:JavaScript 一个简单的 IndexedDB 数据库入门示例
前端·javascript·数据库