Mysql基础语法

数据库基础知识

数据库:

表:

列和数据类型:

行:

主键:

基础语法

不区分大小写,关键字用大写,变量用小写;

不区分空格;

多条SQL语句必须以;结尾;

使用help xxx命令得到帮助;

1、使用数据库

  • USE 
USE db;  // 使用数据库
  • SHOW
SHOW DATABASES; // 返回可用数据库的列表
SHOW TABLES; //返回数据库内表的列表
SHOW COLUMNS FROM customers;
DESCRIBE customers;

2、检索数据库

  • SELECT:从一个或者多个表中检索信息
SELECT 列 FORM 表;      // 检索一列
SELECT 列1,列2 FROM 表; // 检索多列
SELECT * FROM 表; // 返回所有列
  • DISTINCT: 检索只返回不同的值,如果是多列,除非两列不一样,不然全部检索出来
  • select中有该关键字的列放在没有该关键字列的前面。
SELECT DINSTINCT column FROM table;
SELECT DISTINCT Upper(User) AS user_1, Host FROM db ;
  • LIMIT:限制结果
SELECT name FROM table LIMIT 5; 限制返回5行
SELECT name FROM table LIMIT 5 OFFSET 1;从第1行开始返回5行

3、ORDER BY: 排序检索数据

本子句使用的列不一定是选择的列。

  • 选择某个列
SELECT col_1 FROM table_1 ORDER BY col_1;
  • 按照多个列排序:先按前面的列排序,前面一样的情况下再按照后面的列排序。
SELECT id, price, name FROM table ORDER BY price, name;
  • DESC/ASC: 指定排序方向
SELECT id, price, name
FROM products
ORDER BY price DESC, name;
DESC要放在对应排序的列名后面。在多个列上降序排序,需要在每个列指定DESC关键字。
使用ORDER BY 和LIMIT的结合,可以找到最大和最小值。

ORDER BY子句在FROM子句后面,LIMIT子句在ORDER BY子句后面。

4、WHERE:过滤数据

WHERE子句在ORDER BY之前。

WHERE子句在FROM子句后面给出。SELECT子句中依据WHERE子句指定的搜索条件进行过滤。

SELECT Host, Db  FROM db WHERE Host = 'localhost';

WHERE子句操作符:=, !=, <>, <=, >=, BETWEEN。

  • 范围值检查
SELECT name, price
FROM products
WHERE price BETWEEN 5 AND 10;
  • 空值检查

NULL:它与0,空字符串或者空格不同,IS NULL判断是否有NULL值。

SELECT name
FROM products
WHERE price IS NULL;

5、WHERE:数据过滤

[^123]匹配除这些字符外的任何东西

^[123]从文本头开始匹配

实践记录

使用子查询的时候必须用括号括起来

原文地址:https://www.cnblogs.com/dingxiaoqiang/p/14754357.html