Skip to content

数据库语句:库与表操作

常规语句

  • 显示当前 MySQL 版本:
    sql
    SELECT VERSION();
  • 显示当前日期:
    sql
    SELECT NOW();
  • 显示当前用户:
    sql
    SELECT USER();
  • 清空终端显示(调用系统命令):
    sql
    SYSTEM CLS;  -- Windows 系统

库操作语句

  1. 显示所有库

    sql
    SHOW DATABASES;
  2. 创建库

    sql
    CREATE DATABASE 数据库名;
    • 指定编码格式:
      sql
      CREATE DATABASE 数据库名 CHARACTER SET 编码;
  3. 修改库编码格式

    sql
    ALTER DATABASE 数据库名 CHARACTER SET 编码;
  4. 删除库

    sql
    DROP DATABASE 数据库名;
  5. 进入库

    sql
    USE 数据库名;
  6. 显示当前所在库

    sql
    SELECT DATABASE();

表操作语句

  1. 显示当前库中所有表

    sql
    SHOW TABLES;
  2. 创建表

    sql
    CREATE TABLE 表名 (  
        字段名1 字段类型1 约束条件,  
        字段名2 字段类型2 约束条件,  
        ...  
    );
字段类型
类别类型描述
整数类型TINYINT非常小的整数
SMALLINT较小的整数
MEDIUMINT中等大小的整数
INT / INTEGER标准整数
BIGINT大整数
字符串类型CHAR(size)固定长度的字符串
VARCHAR(size)可变长度的字符串
TINYTEXT小文本字符串
TEXT文本字符串
MEDIUMTEXT中等长度文本字符串
LONGTEXT长文本字符串
浮点数/定点数FLOAT单精度浮点数
DOUBLE双精度浮点数
DECIMAL / NUMERIC精确数值(适用于货币等精确数据)
日期/时间DATE日期
TIME时间
DATETIME / TIMESTAMP日期和时间组合
YEAR年份
二进制类型BINARY(size)固定长度的二进制字符串
VARBINARY(size)可变长度的二进制字符串
TINYBLOB小二进制对象
BLOB二进制对象
MEDIUMBLOB中等大小二进制对象
LONGBLOB大二进制对象
布尔类型BOOLEAN / BOOL真/假逻辑变量
枚举/集合ENUM(value1,...)枚举类型(仅允许列表中的一个值)
SET(value1,...)集合类型(允许多个值,逗号分隔)
约束条件
  • 非空约束
    • NOT NULL:字段不能为空。
    • NULL:字段可以为空。
  • 主键约束
    • PRIMARY KEY:标识表的唯一字段(不可重复且非空)。
    • AUTO_INCREMENT:自动编号(通常与主键联用)。
  • 唯一约束
    • UNIQUE KEY:字段值必须唯一(允许为空)。
  • 默认约束
    • DEFAULT:设置字段默认值。
  • 外键约束
    sql
    FOREIGN KEY (子表字段) REFERENCES 父表名 (父表字段)
    • 外键列:添加 FOREIGN KEY 的字段。
    • 参照列:外键参照的父表字段。
    • 子表:包含外键的表。
    • 父表:被参照的表。
    • 作用:确保字段值唯一且有效。
  1. 查看表结构
    sql
    SHOW COLUMNS FROM 表名;
    或简写:
    sql
    DESC 表名;

作业

  1. 创建学生信息表
    • 包含字段:学号(主键)、身份证(唯一)。
  2. 创建学生成绩表
    • 包含字段:学号(外键,参照学生信息表的学号)。
    • 示例:
      sql
      -- 学生信息表  
      CREATE TABLE student_info (  
          student_id INT PRIMARY KEY AUTO_INCREMENT,  
          id_card VARCHAR(18) UNIQUE  
      );  
      
      -- 学生成绩表  
      CREATE TABLE student_scores (  
          score_id INT PRIMARY KEY AUTO_INCREMENT,  
          student_id INT,  
          FOREIGN KEY (student_id) REFERENCES student_info (student_id)  
      );

知识如风,常伴吾身