MySQL必知必会学习总结(一)(SQL简介、MySQL简介、SHOW命令、检索、排序)

SQL简介

SQL:结构化查询语言(专门与数据库进行通信)

数据库:保存有组织的数据的容器(通常为一个文件或一组文件)

表:特定类型数据的结构化清单(一个数据库中的表名唯一)

模式:关于数据库和表的布局及特性的信息

列:表中的一个字段

数据类型:所允许的数据的类型(字符、整数、…)

行:表中的一个记录

主键:其值能够唯一区分表中每一行的一列或一组列(不允许存在NULL值)
(使用主键的好习惯:
不更新主键列的值;
不重用主键列的值;
不在主键列中使用可能会更改的值;)

MySQL简介

MySQL是一种DBMS(数据库管理系统 / 数据库软件),MySQL是基于客户机——服务器的数据库

连接MySQL:
本地服务器(localhost);
端口(默认3306);
合法用户名;
用户口令;

USE database.name; #选择数据库(必须用USE命令打开数据库,才能读取其中数据)

SHOW命令

SHOW DATABASES;    #获取所有数据库

SHOW TABLES;    #获取某一数据库中的所有表

SHOW COLUMNS
FROM table.name;    #获取表目录(表列),也可以    DESCRIBE table.name;

SHOW STATUS;    #显示广泛的服务器状态信息

SHOW CREATE DATABASE;    #显示创建特定的数据库

SHOW CREATE TABLE;    #显示特定的数据表

SHOW GRANTS;    #显示授予用户的安全权限

SHOW ERRORS;    #显示服务器错误消息

SHOW WARNINGS;    #显示服务器警告消息

HELP SHOW;    #显示允许的SHOW语句

检索

SELECT column.name
FROM table.name;    #检索单个列

SELECT column.name1, column.name2, ...
FROM table.name;    #检索多个列

SELECT *
FROM table.name;    #检索所有列(通配符使用会降低性能)

SELECT DISTINCT column.name
FROM table.name;    #对一列中相同的行去重(DISTINCT 应用于所有列而不仅是前置它的列,不能部分使用)

限制结果:LIMIT 子句

LIMIT 5;    #返回前五行

LIMIT 5, 5;    #返回第五行以后的前五行

LIMIT 1, 1;    #检索出的是第二行,因为检索的第一行是行0

LIMIT 4 OFFSET 3;    #等同于LIMIT 3, 4;(返回第三行以后的前四行)

用LIMIT 子句检索时,如果行数不够用,返回现有数量的行

完全限定名:
tablename.columnname(完全限定的列名)
databasename.tablename(完全限定的表名)

排序

ORDER BY 子句
排序的列可以是选择列,也可以是非选择列

SELECT prod_name
FROM products
ORDER BY prod_name;    #对prod_name列以字母顺序排序

ORDER BY column.name1, column.name2, ...    #按多个列排序

ORDER BY column.name DESC;    #指定为降序排列(DESC 只应用于直接位于其前面的列名,多个列降序排列,应指定DESC到每个列;ASC为升序(默认序列))

ORDER BY 与LIMIT 同时使用可查询列中最高值或最低值,其语句顺序为:SELECT + FROM + ORDER BY + LIMIT