MySQL 查询建表语句

MySQL 查询建表语句

MySQL 查询建表语句

1. 概述

MySQL 中,建表语句用于创建数据库表格,定义表格的结构和属性。建表语句由 CREATE TABLE 语句组成,通过指定表的名称、列的名称和属性来创建表格。本文将详细介绍 MySQL 中的建表语句,包括语法和常见用法。

2. 语法

创建表格的语法如下所示:

CREATE TABLE 表名 (
   列名1 数据类型1,
   列名2 数据类型2,
   ...
   列名n 数据类型n
);
  • CREATE TABLE:关键字,表示创建一个表格。
  • 表名:要创建的表格的名称。
  • 列名:表格中的列的名称。
  • 数据类型:列所允许的数据类型。

2.1 数据类型

MySQL 支持各种数据类型,用于定义列的数据类型。以下是一些常见的数据类型:

  • INT:整数类型,用于存储整数。
  • FLOAT:浮点数类型,用于存储小数。
  • VARCHAR(n):可变长度字符串类型,用于存储可变长度的字符串,n 表示最大长度。
  • CHAR(n):固定长度字符串类型,用于存储固定长度的字符串,n 表示长度。
  • DATE:日期类型,用于存储日期。
  • TIME:时间类型,用于存储时间。

2.2 主键

在表格中,主键用于唯一标识每一行数据。可以通过在建表语句中指定 PRIMARY KEY 来定义主键。语法如下所示:

CREATE TABLE 表名 (
   列名1 数据类型1 PRIMARY KEY,
   列名2 数据类型2,
   ...
   列名n 数据类型n
);

2.3 外键

外键用于建立表格之间的关联关系,可以通过在建表语句中指定 FOREIGN KEY 来定义外键。语法如下所示:

CREATE TABLE 表名1 (
   列名1 数据类型1 PRIMARY KEY,
   列名2 数据类型2,
   ...
   列名n 数据类型n,
   FOREIGN KEY (列名) REFERENCES 表名2(列名)
);

3. 常见用法

3.1 创建表格

下面是一个示例,演示如何创建一个名为 users 的表格,包含 idnameage 三个列:

CREATE TABLE users (
   id INT PRIMARY KEY,
   name VARCHAR(100),
   age INT
);

执行上述建表语句后,将在数据库中创建一个名为 users 的表格。

3.2 添加主键

在建表语句中,可以通过 PRIMARY KEY 来定义主键。以下是一个示例,指定 id 列作为主键:

CREATE TABLE users (
   id INT PRIMARY KEY,
   name VARCHAR(100),
   age INT
);

3.3 添加外键

在建表语句中,可以通过 FOREIGN KEY 来定义外键。以下是一个示例,创建两个表格 usersorders,并通过外键 user_id 关联两个表格:

CREATE TABLE users (
   id INT PRIMARY KEY,
   name VARCHAR(100),
   age INT
);

CREATE TABLE orders (
   id INT PRIMARY KEY,
   product VARCHAR(100),
   user_id INT,
   FOREIGN KEY (user_id) REFERENCES users(id)
);

3.4 创建索引

索引可以提高查询的效率,可以通过在建表语句中指定 INDEX 来创建索引。以下是一个示例,创建一个名为 users_name_index 的索引:

CREATE TABLE users (
   id INT PRIMARY KEY,
   name VARCHAR(100),
   age INT,
   INDEX users_name_index (name)
);

3.5 设置属性

在建表语句中,可以设置列的属性,如 NOT NULL、DEFAULT、AUTO_INCREMENT 等。以下是一个示例,设置 id 列为自增长列:

CREATE TABLE users (
   id INT PRIMARY KEY AUTO_INCREMENT,
   name VARCHAR(100),
   age INT
);

4. 总结

本文详细介绍了 MySQL 中的查询建表语句,包括语法和常见用法。通过建表语句,可以创建数据库表格,并定义表格的结构和属性。在建表语句中,可以定义主键、外键、索引等,以满足不同的需求。建表语句是使用 MySQL 的基础知识点,掌握好这些知识对于开发者来说非常重要。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程