《MySQL必知必会》读书笔记(一) 1~7章

1、模式 一种理解是关于数据库和表的布局及特性的信息;

            另一种理解是数据库的同义词。

2、关于主键

表中任何列都可以作为主键,只要它满足以下条件:

  • 任意两行都不具有相同的主键值;
  • 每个行都必须具有一个主键值(主键列不允许NULL值)。

主键通常定义在表的一列上,但这不是必需的,也可以一起使用多个列作为主键。在使用多个列作为主键时,上述条件必须应用到构成主键的所有列,所有列值的组合必须是唯一的(但单个列的值可以不唯一)。

除强制规则外,应该坚持的几个普遍认可的好习惯:

  • 不更新主键列中的值;
  • 不重用主键列的值;
  • 不在主键列中使用可能会更改的值。

3、mysql命令参数

-u用户名,-h主机名,-P端口号,-p输入密码。

4、选择数据库 

use 数据库名

5、show命令

  • show databases;
  • show tables;
  • show columns from 表名;与describe 表名;相同
  • show status; 显示服务器状态信息
  • show create database 库名; 和show create table 表名; 分别用来显示创建库或表的sql语句
  • show grants;显示用户的安全权限
  • show errors 和 show warnings 显示服务器错误或警告

6、SQL语句不区分大小写,许多SQL开发人员喜欢对所有SQL关键字使用大写,对所有列和表明使用小写,这样做⑩代码更易于阅读和调试。

7、select语句

  • 检索单列 select 列名 from 表名;
  • 检索多列 select 列名1,列名2 from 表名;
  • 检索所有列 select * from 表名;
  • 检索不同的行(唯一的行) select distinct 列名 from 表名;distinct关键字应用于所有列而不仅是前置它的列,即select distinct 列名1,列名2 from 表名;表示列名1和列名2组合起来不同;
  • 限制结果 select 列名 from 表名 limit num; 返回结果不多于num行;select 列名 from 表名 limit num1, num2;返回结果从num1行开始,不多于num2行。行号从0开始。也可以写为select 列名 from 表名 limit num2 offset num1。

8、排序检索数据

select 列名 from 表名 order by 列名;默认为升序(ASC),如果指定降序则为 select 列名 from 表名 order by 列名 DESC; 

按多个列排序 select 列名 from 表名 order by 列名1,列名2。排序方向DESC只对前置它的列有效。

对文本性数据排序时,MySQL默认不区分大小写。

order by子句应保证它位于from子句之后,如果使用limit,它必须位于order by之后。同时使用order by和where子句,order by应在where之后。

9、

where子句中使用的条件,如果将值与串类型的列进行比较,则需要限定引号;

使用between时必须制定两个值,所需范围的低端值和高端值,这两个值必须用and分隔,between匹配范围中所有的值,包括开始值和结束值。

可以用is null匹配空值。注意在通过过滤选择出不具有特定值的行时,具有NULL值的行不会被匹配。

OR的优先级小于AND。

你可能感兴趣的:(myql入门)