SQL的语法


  • SQL通用语法

    1. SQL语句可以单行或多行书写,以分号(“;”)结尾。

    2. SQL语句可以使用空格或缩进增强可读性。

    3. MySQL数据库的SQL语句不区分大小写(建议关键字大写)。

    4. 注释

      单行注释:

      -- 内容
      
      # 内容(MySQL特有)
      

      多行注释:

      /* 内容 */
      
  • SQL语句分类

  • 数据库操作(DDL)

    1. 查询:

      查询所有数据库:

      SHOW DATABASES;
      

      查询当前数据库:

      SELECT DATABASE();
      
    2. 创建:

      CREATE DATABASE [IF NOT EXISTS] 数据库名称 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];
      

      (PS:方括号("[]")内的为可选项;字符集推荐使用utf8mb4;)

      (意义:[IF NOT EXISTS]意义为若数据库内已存在该名称的数据库则不执行;)

    3. 删除:

      DROP DATABASE [IF EXISTS] 数据库名称;
      

      (PS:方括号("[]")内的为可选项;)

      (意义:[IF EXISTS]意义为若数据库存在则执行删除;)

    4. 使用:

      USE 数据库名称;
      
  • 数据库操作(DDL)- 查询

    1. 查询当前数据库所以的表:

      SHOW TABLES;
      
    2. 查询表结构:

      DESC 表名;
      
    3. 查询指定表的建表语句:

      SHOW CREATE TABLE 表名;
      
  • 数据库操作(DDL)- 创建

    <数据库操作(DDL)- 创建 - 数据库:tb_user>

    CREATE TABLE 表名(
        字段1 字段1的类型 [COMMENT 字段1注释],
        字段2 字段2的类型 [COMMENT 字段2注释],
        字段3 字段3的类型 [COMMENT 字段3注释]
    ) [COMMENT 表注释]
    

    (PS:方括号("[]")内的为可选项;)

  • 数据库操作(DDL)- 数据类型

    <数据库操作(DDL)- 数据类型 - 案例:08案例.txt>

    <数据库操作(DDL)- 创建 - 数据库:emp>

    MySQL主要数据库类型:

    1. 数值类型:

    SQL的语法-LMLPHP

    (PS:DOUBLE需要设置精度、标度;)

    (意义:精度意义为数值总长度;标度意义为小数点位数;)

    (案例:[字段名 TINYINT UNSIGNED] 意义为当前使用的TINYINT数据类型使用的是无符号的;)

    1. 字符串类型:

    SQL的语法-LMLPHP

    (PS:带BLOB的为二进制存储数据类型;CHAR类型若存储没有达到设定的长度则会用空格填充;VARCHARA类型为所占用的长度则为所占用的空间;)

    (案例:[char(10)] 意义为最大长度为10的字符;)

    1. 日期时间类型:

    SQL的语法-LMLPHP

  • 数据库操作(DDL)- 修改

    1. 添加字段:

      ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束]
      

      (PS:方括号("[]")内的为可选项;)

    2. 修改数据类型:

      ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);
      
    3. 修改字段名和字段类型:

      ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];
      

      (PS:方括号("[]")内的为可选项;)

    4. 删除字段:

      ALTER TABLE 表名 DROP 字段名;
      
    5. 修改表名:

      ALTER TABLE 表名 RENAME TO 新表名;
      
  • 数据库操作(DDL)- 删除

    1. 删除表:

      DROP TABLE [IF EXISTS] 表名;
      

      (PS:方括号("[]")内的为可选项;)

      (意义:[IF EXISTS]意义为若数据库存在则执行删除;)

    2. 删除指定表,并重新创建该表:

      TRUNCATE TABLE 表名;
      
06-11 11:03