主键是能够唯一区别表中所有的行的值,类似身份证。
SQL 是一种语言,Structure Query Language,适用于几乎所有的数据库工具。
|
了解 MySQL
1、主键:PRIMARY KEY
每一行有唯一标识自己的一列。每个国家是一个表,每个人是一行,每个人的身份张号码是主键,即便每个国家的 ID 的方式不一样。
表中的任何列都可以作为主键
如果是多个列组成的主键,上面的条件必须应用到构成主键的所有的列,即所有列的组合必须是唯一的,单个可以重复。
创建方法,见创建表章节
2、外键:
外键为某个表中的一列,它包含另一个表的主键值,定义了两个表之间的关系。
3、SQL
sql 是结构化查询语言 (Structure Query Language)的缩写。SQL 是专门和数据库通信的语言。
4、数据库工具分为两类,基于共享文件系统的 DBMS(MicroSoft Access 和 FileMaker),基于客户机-服务器的数据库(mysql, sqlServer)。
5、在MySQL 5 版本里面,系统自带了一个 information_schema 数据库,可用来获得和过滤模式信息。
6、子句:SQL 语句由子句构成,有些子句是必须的,有些是可选的。SELECT 语句的子句 FROM,ORDER BY。
7、数据类型:所容许的数据的类型学,每个表列都有相应的数据类型,它限制或容许该列中存储的数据。在创建表的时候,必须对数据类型给予特别关注。
|
|
select from 等固定格式的语句,建议写成大写的形式,虽然大小写对 MySQL 没意义,但是方便管理员的阅读和调试。
ordre by 排序选项 ASC 升序排序用处不大,因为默认是升序排序。
在同时使用 order by 和 where 的时候,应该让 order by 位于 where 之后,否则会有错误。
|
select
数据索引
作用:检索单个或多个列
格式:
select 列 from 表
> select id from tb1;
> select name from tb1;
> select id, name from tb1; 多个列用逗号隔开
> select * from tb1; 检索所有列,在万不得已的情况下不使用 *,降低检索和应用性能,但是通配符能检测出名字未知的列
作用:抓取到的资料进行由大到小(descending)或由小到大(ascending)排序 格式:select 栏位 from 表名 [where 条件] order by 栏位 [ASC / DESC]
> select id,name from tb1 order by id ASC;
使用多个列排序
> select name from tb1 order by name;
> select * from tb1 order by id, name;
按照指定顺序 id ,name 排序,即便表里面并不是这样的顺序,只有在 id 相同的时候,才按照 name 排序。
指定排序方向
> select * from tb1 order by name desc, id desc;
> select * from tb1 order by id ASC, name; 一个指定排序,一个不指定
> select * from tb1 where id = 4 order by name desc; 若增加 where ,需要放在 order 前面
ASC 由小到大,DESC 由大到小 ASC 和 DESC 大小写无所谓,字母也可以排序
作用:返回指定的几行 格式:SELECT 列 FROM 表 LIMIT 数字;
> SELECT id FROM tb1 LIMIT 2; 只显示结果的前两行
> SELECT id FROM tb1 LIMIT 2,5; 显示第二行下面的5行,不包括第2行
> SELECT tb1.id FROM test.tb1; 使用完全限定进行索引
例子:选出最昂贵物品的价格(一下是一个语句,分行输入,方便阅读)
> SELECT prod_price
> FROM products
> ORDER BY prod_price DESC
> LIMIT 1;
作用:找出表格内 (列内) 的不同值,类似于uniq,但是并不统计重复次数。 格式: select distinct 列 from 表
> select distinct id from tb1; 可指定多个列,逗号隔开
> select distinct id,name from tb1; 但是除非两个列都不同,否则检索出所有的行
|
|