Skip to content

SQL 语法

约 479 个字 31 行代码 预计阅读时间 2 分钟

Note

SQL 虽然是标准化的语言,但是不同数据库的语法并不完全一致

通用语法及分类

通用语法

  • 单行或者多行书写,以分号结尾
  • MySQL的语句不区分大小写,关键字建议使用大写
  • 注释:
  • 单行注释:--或者#(MySQL特有)
  • 多行注释:/* */

连接

mysql -u username -p
展示所有数据库
SHOW DATABASES;
选择要使用的数据库
USE database;
列出所选数据库中的所有表
SHOW TABLES;
退出
EXIT
清屏
system cls;
创建
CREATE DATABASE 数据库名;
删除
DROP DATABASE 数据库名;
选择
USE 数据库名;

创建数据表

SELECT 语句

基础用法

用于从数据库中选取数据,可以指定多个字段,不指定则会选择所有字段

SELECT column1, column2, ... FROM table_name;

或者,其中*是通配符,表示选择表中的所有列

SELECT * FROM table_name;

SELECT DISTINCT 语句

SELECT DISTINCT 语句用于返回唯一不同的值,即去重

WHERER 子句

SELECT column1, column2, ... FROM table_name WHERE condition;

condition中不等比较特别,是用<>, condition 可以使用AND 和 OR连缀

ORDER BY 关键字

用于对结果集按照一个列或者多个列进行排序

SELECT column1, column2, ... FROM table_name 
ORDER BY column1, column2, ... ASC|DESC;

ASC是升序,DESC是降序

SELECT LIMIT 子句

用于只需要查询前几行数据的情况,这个语法会因为数据库系统种类而异

//这个是mysql的语法
SELECT column1, column2, ...
FROM table_name LIMIT number;

LIKE 操作符

用于模糊化查询

SELECT column1, column2, ... FROM table_name
WHERE column_name LIKE pattern;
pattern中可以使用通配符: * %用于匹配任意字符 * _用于匹配单个字符 * []用于匹配字符列中的任何单一字符 * [^]用于匹配不在字符列中的任何单一字符

IN 操作符

其实作用和 OR 差不多

SELECT column1, column2, ...
FROM table_name WHERE column IN (value1, value2, ...);

BETWEEN 操作符

用于选取介于两个值之间的数据范围内的值

SELECT column1, column2, ...
FROM table_name WHERE column BETWEEN value1 AND value2;

INSERT INTO 语句

用于向表中插入新记录,没有指定要插入数据的列名的形式需要列出插入行的每一列名称:

INSERT INTO table_name
VALUES (value1,value2,value3,...);
也可以指定列名和插入的值
INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);

UPDATE 语句

用于更新指定值

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

DELETE 语句

用于删除表中的行

DELETE FROM table_name WHERE condition;