sql 基础命令

时间:2022-07-23
本文章向大家介绍sql 基础命令,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

库 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 设置外键