MySQL建表语句基础及示例详解

 更新时间:2024年07月31日 10:10:45   作者:龙大.  
在数据库中,创建表格是存储和组织数据的基本操作之一,下面这篇文章主要给大家介绍了关于MySQL建表语句基础及示例的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下

基本建表语句

CREATE TABLE table_name (
    column_name1 data_type(size) [column_constraints],
    column_name2 data_type(size) [column_constraints],
    ...
    [table_constraints]
) [table_options];
  • table_name: 新建表的名称。
  • column_name1column_name2, ...: 表中各列的名称。
  • data_type: 列的数据类型,如 INTVARCHARTEXTDATETIMESTAMP 等。
  • size: 数据类型的长度或大小(对于某些数据类型适用)。
  • [column_constraints]: 列级约束,例如 NOT NULLAUTO_INCREMENTDEFAULTPRIMARY KEYUNIQUECOMMENT 等。
  • [table_constraints]: 表级约束,如 PRIMARY KEYFOREIGN KEYUNIQUE 等。
  • [table_options]: 表的其他选项,如 ENGINEAUTO_INCREMENTCHARSETCOMMENT 等。

数据类型

  MySQL 支持多种数据类型,以下是一些常见的数据类型:

  • INT: 整数类型。
  • VARCHAR(size): 可变长度的字符串,size 表示最大字符数。
  • CHAR(size): 固定长度的字符串。
  • TEXT: 长文本数据。
  • DATE: 日期,格式为 YYYY-MM-DD
  • DATETIME: 日期和时间,格式为 YYYY-MM-DD HH:MM:SS
  • TIMESTAMP: 时间戳,记录数据变更的日期和时间。
  • FLOAT: 浮点数。
  • DOUBLE: 双精度浮点数。
  • DECIMAL(M, D): 定点数,M 是总位数,D 是小数点后的位数。

列级约束

  • NOT NULL: 该列不能有 NULL 值。
  • AUTO_INCREMENT: 用于整数类型,自动递增。
  • DEFAULT value: 为列指定默认值。
  • PRIMARY KEY: 将列设置为表的主键。
  • UNIQUE: 保证列中的每个值都是唯一的。
  • COMMENT 'string': 为列添加注释。

表级约束

  • PRIMARY KEY (column1, column2, ...): 指定一个或多个列作为主键。
  • UNIQUE KEY (column1, column2, ...): 指定一个或多个列作为唯一键。
  • FOREIGN KEY (column) REFERENCES parent_table(column): 指定一个外键,创建与另一个表的引用关系。
  • INDEX (column1, column2, ...): 创建一个或多个列的索引。

表选项

  • ENGINE=storage_engine: 指定存储引擎,如 InnoDB(默认)、MyISAM 等。
  • AUTO_INCREMENT=value: 为 AUTO_INCREMENT 的列指定初始值。
  • CHARSET=character_set: 指定表的默认字符集。
  • COMMENT 'string': 为表添加注释。

示例

以下是一个包含各种语句的创建表示例:

CREATE TABLE student (
    id INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(100) NOT NULL,
    age INT DEFAULT 18,
    admission_date DATE,
    bio TEXT,
    PRIMARY KEY (id),
    UNIQUE KEY (name),
    INDEX (admission_date),
    COMMENT 'Student records table'
) ENGINE=InnoDB AUTO_INCREMENT=1001 CHARSET=utf8mb4;

   在这个示例中,创建了一个名为 student 的表,包含 idnameageadmission_date, 和 bio 列。id 列是主键并自动递增,起始值为 1001。name 列是唯一的,admission_date 列被索引。整个表的存储引擎是 InnoDB,字符集是 utf8mb4,并且有一个表级注释。

附:常用函数

/*count函数:统计符合条件的记录数,count(* )统计表中的记录总数, count(列名)统计指定字段不为null的记录数。*/
select count(*) from dapt;
select count(dname) from dapt ;
select * from dapt where dname is null; 
--max函数返回所选字段的最大值,用法是max(字段名)
--select max (列名) from 表名;
select max(deptno) from dapt;
--min函数返回所选字段的最小值,用法是min(字段名)
--select min (列名) from 表名;
select min(deptno) from dapt;
--avg函数返回所选字段的平均值,用法是avg(字段名)
select avg(deptno) from dapt;
--sum函数返回所选字段的合计值,用法是sum(字段名)
select sum(deptno) from dapt;

总结

到此这篇关于MySQL建表语句基础及示例的文章就介绍到这了,更多相关MySQL建表语句内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Navicat导入导出Mysql 结构、数据、结构+数据完整步骤

    Navicat导入导出Mysql 结构、数据、结构+数据完整步骤

    导出表结构是指将数据库中的表的结构信息导出为SQL脚本或其他格式的文件,这个功能非常实用,特别是在数据库迁移或备份时,这篇文章主要给大家介绍了关于Navicat导入导出Mysql 结构、数据、结构+数据的相关资料,需要的朋友可以参考下
    2024-08-08
  • MySQL8.0.28数据库安装和主从配置说明

    MySQL8.0.28数据库安装和主从配置说明

    这篇文章主要介绍了MySQL8.0.28数据库安装和主从配置说明,具有很好的参考价值,希望杜大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • MYSQL数据库如何设置主从同步

    MYSQL数据库如何设置主从同步

    大家好,本篇文章主要讲的是MYSQL数据库如何设置主从同步,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • MySQL主从同步的几种实现方式

    MySQL主从同步的几种实现方式

    本文主要介绍了MySQL主从同步的几种实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-02-02
  • 详解windows下mysql的主从同步

    详解windows下mysql的主从同步

    本文主要对windows下的mysql主从同步进行详细介绍。具有很好的参考价值,需要的朋友一起来看下吧
    2016-12-12
  • MySQL 临时表的原理以及优化方法

    MySQL 临时表的原理以及优化方法

    这篇文章主要介绍了MySQL 临时表的原理以及优化方法,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • mysql常见错误集锦

    mysql常见错误集锦

    由于最近一直接触php+mysql,会遇到一些问题,所以把这些问题整理下
    2008-06-06
  • Windows7下如何在命令行使用MySQL

    Windows7下如何在命令行使用MySQL

    这篇文章主要介绍了Windows7下如何在命令行使用MySQL的相关资料,需要的朋友可以参考下
    2015-12-12
  • 解决MySQL客户端输出窗口显示中文乱码问题的办法

    解决MySQL客户端输出窗口显示中文乱码问题的办法

    这篇文章主要介绍了解决MySQL客户端输出窗口显示中文乱码问题的办法,需要的朋友可以参考下
    2015-12-12
  • MySQL DNS的使用过程详细分析

    MySQL DNS的使用过程详细分析

    当 mysql 客户端连接 mysql 服务器 (进程为:mysqld),mysqld 会创建一个新的线程来处理该请求。该线程先检查是否主机名在主机名缓存中
    2012-11-11

最新评论