返回顶部
首页 > 资讯 > 数据库 >关于SQL建表语句使用详解
  • 450
分享到

关于SQL建表语句使用详解

SQL建表语句使用SQL建表语句SQL语句 2024-10-23 10:10:29 450人浏览 泡泡鱼
摘要

目录sql 建表语句详解1. 基本语法2. 数据类型3. 约束4. 示例5. 创建带有默认值的表6. 创建带有复合主键的表7. 创建带有检查约束的表8. 创建带有唯一约束的表9. 创建带有自增列的表10. 创建带有注释的

SQL 建表语句详解

在 SQL 中,创建表(Table)是数据库设计的基础。表是存储数据的基本单位,每个表由行和列组成。

创建表的过程涉及到定义表的结构,包括列名、数据类型、约束等。

本文将详细介绍 SQL 中的建表语句,并通过示例帮助读者更好地理解。

1. 基本语法

创建表的基本语法如下:

CREATE TABLE table_name (
    column1 datatype constraint,
    column2 datatype constraint,
    column3 datatype constraint,
    ...
);
  • table_name:表的名称。
  • column1, column2, column3:列的名称。
  • datatype:列的数据类型。
  • constraint:列的约束条件。

2. 数据类型

SQL 支持多种数据类型,常见的有:

  • 整数类型INT, BIGINT, SMALLINT, TINYINT
  • 浮点数类型FLOAT, DOUBLE, DECIMAL(p, s)
  • 字符串类型CHAR(n), VARCHAR(n), TEXT
  • 日期和时间类型DATE, TIME, DATETIME, TIMESTAMP
  • 布尔类型BOOLEAN

3. 约束

约束用于保证数据的完整性和一致性,常见的约束有:

  • 主键约束PRIMARY KEY,唯一标识表中的每一行。
  • 唯一约束UNIQUE,确保列中的所有值都是唯一的。
  • 非空约束NOT NULL,确保列中的值不能为空。
  • 默认值约束DEFAULT,为列提供默认值。
  • 外键约束FOREIGN KEY,确保一个表中的数据与另一个表中的数据一致。
  • 检查约束CHECK,确保列中的值满足特定条件。

4. 示例

下面通过一个具体的示例来演示如何创建一个表。

假设我们要创建一个名为 students 的表,用于存储学生的信息,包括学号、姓名、性别、出生日期和班级。

CREATE TABLE students (
    student_id INT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    gender CHAR(1) CHECK (gender IN ('M', 'F')),
    birth_date DATE,
    class_id INT,
    FOREIGN KEY (class_id) REFERENCES classes(class_id)
);

在这个示例中:

  • student_id 是主键,唯一标识每个学生。
  • name 是学生的姓名,不能为空。
  • gender 是学生的性别,只能是 ‘M’ 或 ‘F’。
  • birth_date 是学生的出生日期。
  • class_id 是学生所在的班级,是一个外键,引用 classes 表中的 class_id

5. 创建带有默认值的表

有时候我们需要为某些列设置默认值,例如学生的入学日期。

CREATE TABLE students (
    student_id INT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    gender CHAR(1) CHECK (gender IN ('M', 'F')),
    birth_date DATE,
    class_id INT,
    enrollment_date DATE DEFAULT CURRENT_DATE,
    FOREIGN KEY (class_id) REFERENCES classes(class_id)
);

在这个示例中,enrollment_date 列的默认值是当前日期。

6. 创建带有复合主键的表

有时候我们需要使用多个列作为主键,例如订单表中的订单号和产品号。

CREATE TABLE order_details (
    order_id INT,
    product_id INT,
    quantity INT,
    PRIMARY KEY (order_id, product_id),
    FOREIGN KEY (order_id) REFERENCES orders(order_id),
    FOREIGN KEY (product_id) REFERENCES products(product_id)
);

在这个示例中,order_idproduct_id 共同组成主键。

7. 创建带有检查约束的表

检查约束用于确保列中的值满足特定条件,例如学生的年龄必须在 18 到 30 岁之间。

CREATE TABLE students (
    student_id INT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    gender CHAR(1) CHECK (gender IN ('M', 'F')),
    birth_date DATE,
    class_id INT,
    enrollment_date DATE DEFAULT CURRENT_DATE,
    age INT CHECK (age >= 18 AND age <= 30),
    FOREIGN KEY (class_id) REFERENCES classes(class_id)
);

在这个示例中,age 列的值必须在 18 到 30 岁之间。

8. 创建带有唯一约束的表

唯一约束用于确保列中的所有值都是唯一的,例如学生的邮箱地址。

CREATE TABLE students (
    student_id INT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    gender CHAR(1) CHECK (gender IN ('M', 'F')),
    birth_date DATE,
    class_id INT,
    enrollment_date DATE DEFAULT CURRENT_DATE,
    email VARCHAR(100) UNIQUE,
    FOREIGN KEY (class_id) REFERENCES classes(class_id)
);

在这个示例中,email 列的值必须是唯一的。

9. 创建带有自增列的表

自增列用于自动生成唯一的标识符,例如学生的学号。

CREATE TABLE students (
    student_id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    gender CHAR(1) CHECK (gender IN ('M', 'F')),
    birth_date DATE,
    class_id INT,
    enrollment_date DATE DEFAULT CURRENT_DATE,
    FOREIGN KEY (class_id) REFERENCES classes(class_id)
);

在这个示例中,student_id 列是自增列,每次插入新记录时会自动生成一个唯一的学号。

10. 创建带有注释的表

注释用于为表和列提供说明,便于理解和维护。

CREATE TABLE students (
    student_id INT AUTO_INCREMENT PRIMARY KEY COMMENT '学生的唯一标识',
    name VARCHAR(50) NOT NULL COMMENT '学生的姓名',
    gender CHAR(1) CHECK (gender IN ('M', 'F')) COMMENT '学生的性别',
    birth_date DATE COMMENT '学生的出生日期',
    class_id INT COMMENT '学生所在的班级',
    enrollment_date DATE DEFAULT CURRENT_DATE COMMENT '学生的入学日期',
    FOREIGN KEY (class_id) REFERENCES classes(class_id)
) COMMENT='学生信息表';

在这个示例中,为表和列添加了注释,便于理解其含义。

总结

通过本文的讲解,我们详细介绍了 SQL 中的建表语句,包括基本语法、数据类型、约束、示例等内容。

希望读者能够通过这些内容更好地理解和掌握 SQL 建表语句的使用方法。

在实际应用中,根据具体需求选择合适的数据类型和约束,可以有效地保证数据的完整性和一致性。

您可能感兴趣的文档:

--结束END--

本文标题: 关于SQL建表语句使用详解

本文链接: https://lsjlt.com/news/623948.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何使用sql语句创建表
    小编给大家分享一下如何使用sql语句创建表,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!sql语句中创建表的语句是“CREATE...
    99+
    2024-04-02
  • sql语句中临时表使用实例详解
    目录一、临时表实现分步处理1.概述2.实例2.1表格结构2.2需求2.3sql语句2.4sql语句解析二、临时表实现分层处理1、概述2、实例2.1表结构2.2需求2.3sql语句2.4sql语句解析一、临时表实现分步处理...
    99+
    2023-02-16
    SQL临时表使用 SQL临时表
  • navicat如何使用sql语句创建表
    navicat中使用sql语句创建表的方法:1、打开navicat管理工具;2、点击左上角“连接”,连接一个数据库;3、点击菜单栏“查询”按钮;4、在新建的查询对话框中使用sql语句创建表并执行即可。具体操作步骤:打开navicat管理工具...
    99+
    2024-04-02
  • SQL语句之表的创建和使用
    表 一、表的创建(DDL)1.建表的语法格式创建一个学生表 2.mysql中的数据类型3.删除表 二、在表中插入数据insert(DML)1.insert2.insert插入日期3.date和datetime区别 三、...
    99+
    2023-08-20
    sql 数据库 mysql
  • 如何使用sql语句创建学生表
    这篇文章主要介绍如何使用sql语句创建学生表,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!用sql语句创建学生表的方法:首先打开sql的新建查询,新建表;然后输入学号和姓名,类型用字...
    99+
    2024-04-02
  • 怎么在mysql使用sql语句创建表
    这篇文章将为大家详细讲解有关怎么在mysql使用sql语句创建表,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、语句说明可以使用CREATE TABLE语句创建表。允许NULL值,则说明在...
    99+
    2023-06-15
  • 怎么使用sql语句创建表约束
    在使用SQL语句创建表时,可以使用以下约束来限制表中数据的规则和完整性:1. PRIMARY KEY约束:用于定义一个或多个列作为表...
    99+
    2023-09-05
    sql
  • 使用SQL语句创建数据库与创建表
    前言 🎈个人主页:🎈 :✨✨✨初阶牛✨✨✨ 🐻推荐专栏: 🍔🍟🌯 c语言初阶 🔑个...
    99+
    2023-09-29
    数据库 sql
  • sql语句LEFT JOIN拼接表详解
    目录1、语法2、说明3、LEFT JOIN、RIGHT JOIN、INNER JOIN的区别注:4、再来看一个例子,加深印象LEFT JOIN(左连接)是数据库操作中的一种表连接方式,它返回左边表格中所有的记录和右边表格...
    99+
    2023-05-05
    LEFT JOIN 拼接表
  • sql语句LEFT JOIN拼接表详解
    目录1、语法2、说明3、LEFT JOIN、RIGHT JOIN、INNER JOIN的区别注:4、再来看一个例子,加深印象LEFT JOIN(左连接)是数据库操作中的一种表连接方式...
    99+
    2023-05-18
    LEFT JOIN 拼接表
  • mysql创建表的sql语句详细总结
    mysql创建表的sql语句 mysql建表常用sql语句: 连接:mysql -h主机地址 -u用户名 -p用户密码 (注:u与root可以不用加空格,其它也一样) 断开:exit (回车) 创建授权:g...
    99+
    2024-04-02
  • mysql创建表的sql语句
    这篇文章主要介绍mysql创建表的sql语句,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!mysql创建表的sql语句mysql建表常用sql语句:连接:mysql -h主机地址 -...
    99+
    2024-04-02
  • mysql怎么用sql语句创建表
    要使用 sql 在 mysql 中创建表,可以使用 create table 语句。语法为:create table table_name (column_name data_type ...
    99+
    2024-04-22
    mysql sql语句
  • SQL语句 - 多表查询使用详细介绍
    文章目录 多表查询多表查询简介多表查询内连接多表查询外连接多表查询子查询 多表查询 多表查询简介 例如我们有一张员工表和部门表, 员工表有6条数据, 部门表表有4条数据: # 创建部门...
    99+
    2023-09-01
    sql 数据库 java
  • SQL Update语句详解
    SQL Update语句用于更新数据库表中的数据。它可以修改现有的记录,并根据指定的条件选择要更新的记录。以下是SQL Update...
    99+
    2024-04-09
    SQL
  • 关于SQL语句的执行顺序
    首先,要清楚在一select语句中都会用到哪些关键字: -----------select  -----------from -----------join -----------where -----------gr...
    99+
    2017-11-03
    关于SQL语句的执行顺序
  • 关于SQL查询语句关键字方法
    目录SQL常用的一些关键字1、distinct关键字2、使用计算列3、列的别名4、使用逻辑表达式5、使用between关键字6、使用in关键字7、使用like子句进行模糊查询8、转义字符escape的使用9、使用orde...
    99+
    2024-04-02
  • sql语句不等于怎么表示
    sql 语句中不等于的符号为 >,用于比较两个表达式是否不相等。若不相等,返回 true;否则,返回 false。例如:select * from table_name ...
    99+
    2024-05-30
    sql语句
  • navicat用sql语句创建表的方法
    这篇文章给大家分享的是有关navicat用sql语句创建表的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。选择一个数据库,点击“查询”,在右侧点击“创建查询”,输入SQL语句...
    99+
    2024-04-02
  • 怎么用SQL语句创建视观表
    本篇内容介绍了“怎么用SQL语句创建视观表”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!视观表(Views...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作