常用SQL语句

  SQL语句分为数据的操作和表结构的操作,确定自己的需求检索自己需要的SQL语句。
列出一些SQL操作中的注意事项供大家参考:

注意事项
同一个建表语句中,可以有多个主键,但PRIMARY KEY关键字只能出现一次
AUTO_INCREMENT在一张表中只能应用于一列,并且这一列属于主键
OR可以和AND一起使用,但是在使用时注意两者的优先级,由于AND的优先级高于OR,因此先对AND两边的操作数进行操作,再与OR中的操作数结合。可使用圆括号可以明确操作顺序。
WHERE后面不能使用聚合函数,但是可以在HAVING后面使用
ROLLUP 和 ORDER BY不能同时使用

1. 对表中数据的操作

查询数据

  • 查询所有数据:SELECT * FROM 表名;
  • 查询指定列数据:SELECT 字段1,字段2.. FROM 表名;
  • 查询指定记录:SELECT * 字段1,字段2…FROM 表名 WHERE 查询条件;
  • BETWEENT AND 范围查询 :SELECT * FROM 表名 WHERE 字段名 BETWEEN 最小值 AND 最大值;
  • IN 限定范围查询 : SELECT *FROM 表名 WHERE 字段 IN (指定值1,指定值2..);
  • LIKE 匹配: SELECT * FROM 表名 WHERE 字段 LIKE ‘%(任意长度字符)|_(一个下划线表示一个字符)’ ; 例 :张% 字段以张开头的数据 %张 以张结尾 %张% 包含张
  • 查询空值:SELECT * FROM 表名 WHERE 字段 IS NULL ; 非空值 IS NOT NULL;
  • AND多条件查询:SELECT * FROM 表名 WHERE 条件1 AND 条件2 AND 条件3…;
  • OR多条件查询:SELECT * FROM 表名 WHERE 条件1 OR 条件2 OR 条件3….;
  • 使用函数查询:SELECT 字段1,函数(字段) AS 别名 FROM 表名 条件;
  • LIMIT限制查询结果的数量 SELECT * FROM 表名 LIMIT [ 位置偏移量, ] 行数
  • 查询不重复的结果 SELECT DISTINCT 字段名 FROM 表名
  • INNER JOIN 内连接语法结构 : SELECT 字段1,字段2… FROM 表1 INNER JOIN 表2 ON 条件;
  • 自连接语法结构 : SELECT 逻辑表1.字段1,逻辑表1.字段2 FROM 表1 AS 逻辑表1,表1 AS 逻辑表2 WHERE 逻辑表1.字段N = 逻辑表2.字段N AND 逻辑表.字段 = 值;
  • 左外连接语法结构: SELECT 表1.字段1,字段2,字段3 FROM 表1 LEFT OUTER JOIN 表2 ON 条件;
  • 右外连接语法结构:SELECT 表2.字段,字段1,字段2…FROM 表1 RIGHT OUTER JOIN 表2 ON 条件;
  • 子查询语法结构:SELECT 字段1,字段2…FROM 表 WHERE 条件1 AND (子查询ANY|ALL|EXISTS|IN)(子查询语句);

添加数据

-为表中所有字段插入数据 INSERT INTO 表名 VALUES(各字段对应的值)
- 为表的指定字段插入数据 INSERT INTO 表名(字段名1[,字段名2…])VALUES (各字段对应的值)
- 同时插入多条数据 INSERT INTO 表名(字段名) VALUES (各字段对应的值1),(各字段对应的值2),…
- 将查询的结果插入表中:INSERT INTO 表1(字段1,字段2…) SELECT (字段1,字段2..)FROM 表2;

删除数据

DELETE FROM 表名 [ WHERE 筛选条件 ]
没有指定WHERE将删除表中全部的数据

修改数据

UPDATE 表名 SET 字段1=值,字段2=值,…. [ WHERE 筛选条件 ]
注意,如果没有 WHERE 将更新表中所有SET的字段数据

2. 对表结构的操作

  • 创建数据表
    CREATE TABLE<表名>
    (
    字段名1 数据类型[列约束条件][默认值],
    字段名2 数据类型[列约束条件][默认值],
    …..
    [表约束条件]
    )
  • 修改表名 ALTER TABLE<旧表名>RENAME[TO]<新表名>
  • 修改字段的数据类型 ALTER TABLE<表名>MODIFY<字段名><数据类型>
  • 修改字段名 ALTER TABLE <表名> CHANGE<旧字段名><新字段名><新数据类型>;
  • 添加字段 ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件][FIRST|AFTER 已存在的字段名]
  • 删除字段 ALTER TABLE <表名> DROP <字段名>
  • 修改字段的排列位置 ALTER TABLE<表名>MODIFY<字段1><数据类型>FIRST|AFTER<字段2>
  • 更改表的存储引擎 ALTER TABLE <表名>ENGINE= <更改后的存储引擎名>
  • 删除表的外键约束 ALTER TABLE <表名> DROP FOREIGN KEY<外键约束名>
  • 删除数据表 DROP TABLE [IF EXISTS] 表1,表2,… 表n
阅读更多

扫码向博主提问

Xyns

非学,无以致疑;非问,无以广识
  • 擅长领域:
  • Python
  • C#
去开通我的Chat快问
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页