美文网首页
sql 基础命令

sql 基础命令

作者: copyLeft | 来源:发表于2020-08-18 15:36 被阅读0次

    库 DB

    • SHOW DATABASES 数据库列表

    • USE 库名 切换/使用某数据库

    • CREATE DATABASE 库名 创建新库

    • DROP DATABASE 库名 删除库

    表 TABLE

    • show TABLES 表列表

    • CREATE TABLE 表名( 列名 数据类型 .... ) 创建表

    • DROP TABLE 表名 删除表

    • SELECT * FROM 表名 查看表数据

    • INSERT INTO 表名 (列名 ...) VALUES (数据 ...) 插入数据

      INSERT INTO USERS (name, age) VALUES ("Rogan", 24);
      
    • UPDATE 表名 SET 列名 = 值 WHERE 列名 = 查询值

      // 修改所有数据
      UPDATE user SET state = 1;
      
      // 修改指定条目
      UPDATE user SET name = "Jack" WHERE id = 11;
      
    • DELETE FROM 表名 WHERE 列名 = 值 删除指定数据

    字段 KEY

    ALTER 字段操作

    • ADD 添加字段

      ALTER TABLE user ADD age int;
      
    • DROP 删除字段

      ALTER TABLE user DROP age;
      
    • MODIFY 修改字段类型

      // 修改类型
      ALTER TABLE user MODIFY age char(10);
      
      // 修改类型及约束
      ALTER TABLE user MODIFY age int NOT NULL;
      
    • CHANGE 修改字段名称

      // CHANGE 就字段名 新字段名 字段类型;
      ALTER TABLE user CHANGE oldKey newKey char(10);
      
    • RENAME TO 表重命名

      ALTRE TABLE user RENAME TO users;
      

    查询

    • WHERE 筛选

      SELECT * FROM user WHERE name = "coco"
      
    • LIMIT 限制返回数据量

      SELECT  * FROM user LIMIT 10; 
      
    • LIKE 模糊匹配

      // 以某字符开头
      SELECT * FROM user WHERE name LIKE "u%";
      
      // 以某字符结尾
      SELECT * FROM user WHERE name LIKE "%u";
      
      // 包含某字符
      SELECT * FROM user WHERE name LIKE "%u%";
      
      
    • IN 包含多值查询

      SELECT * FROM user WHERE id IN (1, 2, 3);
      
    • AND 并集

      SELECT * FROM user WHERE id > 1 AND id < 10;
      
    • OR 交集

      SELECT * FROMO user WHERE id > 1 OR name = "COCO"
      

    类型

    • 整数
      • TINYINT 1byte
      • SMALLInt 2byte
      • MDEIUMINT 3byte
      • INT 4byte
      • BIGINT 8byte
    • 浮点数
      • FLOAT 4byte
      • DOUBLE 8byte
    • 其他数值
      • DECIMAL(M, D)
    • 时间
      • DATE 日期 YYYY-MM-DD
      • TIME 时间 HH:MM:SS
      • YEAR 年份 YYYY
      • DATETIME 日期+时间 YYYY-MM-DD HH:MM:SS
      • TIMESTAMP 时间戳
    • 字符
      • CHAR 定长
      • VARCHAR 变长
      • TINYBLOB 二进制短文本字符串
      • TINYTEXT 短文本字符串
      • BLOB 二进制长文本数据
      • TEXT 长文本数据
      • MEDIUMBLOB 二进制中等长度文本数据
      • MEDIUMTEXT 中等长度文本数据
      • LONGBLOB 二进制极大文本
      • LONGTEXT 极大文本

    排序

    ORDER BY 字段名 排序方式

    // 默认正序 小 -> 大
    SELECT * FROM user ORDER BY id ASC;
    
    // 倒序 大 -> 小
    SELECT * FROM user ORDER BY id DESC;
    
    

    约束

    • NOT NULL 初始值不为null

      ALTER TABLE user ADD is_del NOT NULL;
      
    • UNIQUE 值唯一

      ALTER TABLE user ADD id UNIQUE;
      
    • DEFAULT 默认值

      ALTER TABLE user MODIFY age INT DEFAULT 1;
      
    • CHECK 约束检查

      ALTER TABLE user ADD age INT NOT NULL CHECK(age > 10 AND age < 130);
      
    • AUTO_INCREMENT 自增

      ALTER TABLE user ADD num INT NOT NULL UNIQUE AUTO_INCREMENT;
      
    • PRIMARY KEY 设置主键, 主键不能为null且必须唯一

      // 约束跟在字段后
      ALTER TABLE user MODIFY id INT NOT NULL UNIQUE PRIMARY KEY;
      
      // 约束在定义后
      CREATE TABLE user
      (
      id int NOT NULL UNIQUE ,
      name varchar(100),
      PRIMARY KEY (Id_P)
      );
      
    • FOREIGN KEY 设置外键

    相关文章

      网友评论

          本文标题:sql 基础命令

          本文链接:https://www.haomeiwen.com/subject/thkkjktx.html