1、了解SQL&MySQL
SQL
1、MySql面向所有主要的数据管理系统(DBMS),数据库是通过DBMS创建和操纵的容器
2、数据库存储层级:字段-->数据表--->数据库
3、表名唯一性,在相同数据库中不能两次使用相同的表名,但在不同的数据库中却可以使用相同的表名。
4、SQL是结构化查询语言(Structured QueryLanguage)的缩写。SQL是一种专门用来与数据库通信的语言。
5、主键(primary key)一一列(或一组列),其值能够唯一区分表中每个行。
主键条件:
任意两行都不具有相同的主键值;
每个行都必须具有一个主键值(主键列不允许NULL值)。
在使用多列作为主键时,所有列值的组合必须是唯一的(但单个列的值可以不唯一)。
MySQL
1、数据的所有存储、检索、管理和处理实际上是由数据库软件——DBMS(数据库管理系统)完成的。MySQL是一种DBMS,即它是一种数据库软件。
命令输入在mysql>之后;
命令用;或\g结束,换句话说,仅按Enter不执行命令;
输入help或\h获得帮助,也可以输入更多的文本获得特定命令的帮助(如,输入help select获得使用SELECT语句的帮助);
输入quit或exit退出命令行实用程序。
2、基本命令
use 数据库名;
database changed;
show databases;
show tables;
show columns from 表名=describe 表名;
SHOW STATUS,用于显示广泛的服务器状态信息;
SHOW CREATE DATABASE和SHOW CREATE TABLE,分别用来显示创建特定数据库或表的MySQL语句;
SHOW GRANTS,用来显示授予用户(所有用户或特定用户)的安全权限;
SHOW ERRORS和SHOW WARNINGS,用来显示服务器错误或警告消息。
检索数据
(1)检索单个列:select 列名 from 表名;
(2)检索多个列:select 列名1,列名2,列名3,列名4,列名5 from 表名;
(3)检索所有列:select * from 表名;
(4)检索不同的行(distinct ):select distinct 列名 from 表名;
DISTINCT关键字应用于所有列而不仅是前置它的列。
(5)限制行数(limit ):select 列名1,列名2,列名3,列名4,列名5 from 表名 limit 行数;
可指定要检索的开始行和行数:select 列名1,列名2 from 表名 limit 5:5;
第一个数为开始位置,第二个数为要检索的行数;
检索出来的第一行为行0而不是行1。因此,LIMIT 1, 1将检索出第二行而不是第一行。
MySQL 5支持LIMIT的另一种替代语法, LIMIT 4 OFFSET 3 意为从行3开始取4行,
3、order 排序子句
(1)select 列名1,列名2,列名3,列名4,列名5 from 表名
order by 列名1,列名2;----默认以asc升序
(2)select 列名1,列名2,列名3,列名4,列名5 from 表名
order by 列名1,列名2 desc;----以列名2降序
(3)select 列名1,列名2,列名3,列名4,列名5 from 表名
order by 列名1desc,列名2;----以列名1降序
(4)select 列名1,列名2,列名3,列名4,列名5 from 表名
order by 列名1desc,列名2 desc;----以列名1,列名2降序,降序方向从左到右
4、where过滤子句
在同时使用ORDER BY和WHERE子句时,应该让ORDER BY位于WHERE之后;