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