当前位置: 首页 > news >正文

数据库MySQL学习——day1(创建表与数据类型)

文章目录

  • 1. 创建表(CREATE TABLE)
    • 1.1. 创建表的基本语法:
    • 1.2. 示例:创建学生信息表
  • 2. 数据类型
    • 2.1. 常用的数据类型:
  • 3. 表约束
    • 3.1. 常见约束类型:
    • 3.2. 示例:添加约束条件
    • 3.3. 修改表添加约束:
  • 4. 总结

MySQL的配置与登录有很多大佬已经发过相关详细文章,我就不做过多赘述,这里只是对个人MySQL数据库的学习做一个记录。

1. 创建表(CREATE TABLE)

1.1. 创建表的基本语法:

CREATE TABLE 表名 (字段1 数据类型 [约束条件],字段2 数据类型 [约束条件],...[表级约束]
);
  • CREATE TABLE:用于创建新表。
  • 字段名:定义表的每个列。
  • 数据类型:指定字段存储的数据类型(如整数、字符串、日期等)。
  • 约束条件:可以为字段设置约束,如 NOT NULLDEFAULTUNIQUE 等。

1.2. 示例:创建学生信息表

CREATE TABLE student (student_id INT NOT NULL PRIMARY KEY,  -- 学生ID,主键且不能为空name VARCHAR(100) NOT NULL,           -- 姓名,不能为空age INT,                             -- 年龄,可为空birth_date DATE,                     -- 生日,日期格式gpa DECIMAL(3,2)                     -- GPA,带两位小数
);
  • student_id:整数类型,作为主键,不能为空。
  • name:字符串类型(最大100字符),不能为空。
  • age:整数类型,允许为空。
  • birth_date:日期类型,用于存储出生日期。
  • gpa:小数类型,最多3位数字,其中2位为小数。

2. 数据类型

2.1. 常用的数据类型:

  • INT :用于存储整数(没有小数部分)。如 student_id INT
  • VARCHAR(n) :用于存储变长字符串,n 指定最大字符数。适用于存储姓名、地址等文本数据。
  • DATE :用于存储日期,格式为 YYYY-MM-DD,例如 2025-01-01
  • DECIMAL(p, s) :用于存储精确的小数,p 是总位数(包括整数部分和小数部分),s 是小数部分的位数。如DECIMAL(3, 2)表示最多三位数字,两位小数。

2.2. 示例数据类型与字段:

CREATE TABLE example (column1 INT,             -- 整数类型column2 VARCHAR(50),     -- 可变长字符串,最大50字符column3 DATE,            -- 日期column4 DECIMAL(5, 2)    -- 小数类型,最多5位,2位小数
);

3. 表约束

3.1. 常见约束类型:

  • NOT NULL:确保字段不能为空。
  • DEFAULT:为字段提供默认值,如果插入数据时未提供该字段的值,数据库会使用默认值。
  • UNIQUE:确保字段的值唯一,不能重复。
  • PRIMARY KEY:指定字段为主键,主键是唯一且不能为空。
  • FOREIGN KEY:用于指定外键约束,确保字段值存在于另一个表的主键或唯一字段中。

3.2. 示例:添加约束条件

CREATE TABLE student (student_id INT NOT NULL PRIMARY KEY,       -- 主键且不能为空name VARCHAR(100) NOT NULL,                -- 姓名不能为空age INT DEFAULT 18,                        -- 年龄默认值为18email VARCHAR(100) UNIQUE                 -- 邮箱必须唯一
);
  • student_id:作为主键,不能为空。
  • name:不能为空。
  • age:默认值为18,如果插入时没有指定年龄,系统自动填充18。
  • email:邮箱字段确保每个邮箱地址唯一,不能重复。

3.3. 修改表添加约束:

如果已经创建了表,可以使用 ALTER TABLE 添加或修改字段约束。例如,添加一个NOT NULL约束:

ALTER TABLE student ADD CONSTRAINT CONSTRAINT_NAME CHECK (age > 0);

4. 总结

  • 表创建:使用 CREATE TABLE 语句来创建表并定义字段及其数据类型。
  • 数据类型:常见数据类型包括 INTVARCHARDATEDECIMAL
  • 表约束:通过使用 NOT NULLDEFAULTUNIQUE 等约束条件来确保数据的完整性和一致性。

相关文章:

  • Linux开机自动挂载磁盘方法
  • 01.Python代码Pandas是什么?pandas的简介
  • org.springframework.beans.factory.config.YamlPropertiesFactoryBean 类详解
  • StarRocks 异常 Table creation timed out.
  • U535982 J-A 小梦的AB交换 题解
  • 安全调度系统:安全管理的智能中枢
  • 从零学会epoll的使用和原理
  • Function calling, 模态上下文协议(MCP),多步能力协议(MCP) 和 A2A的区别
  • Vue3+TS中svg图标的使用-@unocss/preset-icons
  • 【深度学习】LoRA:低秩适应性微调技术详解
  • 第33周JavaSpringCloud微服务 电商进阶开发
  • VSCode连服务器一直处于Downloading
  • 多骨干、多融合:RT-DETR 如何解锁主干网络新姿势?
  • 面试网络基础知识 — IP地址
  • 聚能芯半导体禾润一级代理HT7886开关限流降压变换器 5V – 100V 的宽输入电压3.5A 开关限流降压变换器
  • USB 共享神器 VirtualHere 局域网内远程使用打印机与扫描仪
  • 丰富多样功能的小白工具,视频提取音频,在线使用,无需下载软件
  • QEMU源码全解析 —— 块设备虚拟化(21)
  • 【Pandas】pandas DataFrame div
  • 三网通电玩城平台系统结构与源码工程详解(二):Node.js 服务端核心逻辑实现
  • 中宣部等十部门联合印发《新时代职业道德建设实施纲要》
  • 泽连斯基:俄军违反停火承诺,20日10时起前线俄炮击增加
  • “女子被前男友泼汽油烧伤案”二审将于22日开庭,一审判12年
  • 对话地铁读书人|来自大学教授的科普:读书日也是版权日
  • 精细喂养、富养宠物,宠物经济掀起新浪潮|私家周历
  • 非法收受财物2.29亿余元,窦万贵受贿案一审开庭