一、了解SQL
1、数据库(database):保存有组织的数据的容器;数据库软件应称为DBMS(数据库管理系统)。
2、表(table):某种特定类型数据的结构化清单。
3、模式(schema):关于数据库和表的布局及特性的信息。
4、列(column):表中的一个字段。所有表都是由一个或多个列组成的。
5、数据类型(datatype):所容许的数据的类型。每个表列都有相应的数据类型,它限制(或容许)该列中存储的数据。
6、行(row):表中的一个记录。
7、主键(primary key):列(或一组列),其值能够唯一区分表中每个行。应该总是定义主键。
8、主键的最好习惯:
- 不更新主键列中的值;
- 不重用主键列的值;
- 不在主键列中使用可能会更改的值。
9、SQL(发音为字母S-Q-L或sequel):是结构化查询语言(Structured Query
Language)的缩写。
二、MySQL简介
1、MySQL Administrator(MySQL管理器):是一个图形交互客户机,用
来简化MySQL服务器的管理。点击下载
2、MySQL Query Browser:一个图形交互客户机,用来编写和执行MySQL命令。点击下载
tips:可以直接百度以上的名词就会有下载链接。
三、MySQL使用
1、关键字(key word) :作为MySQL语言组成部分的一个保留字。决不要用关键字命名一个表或列。
2、创建数据库:create database <数据库名>;
3、使用数据库才能对其进行操作,例如已经创建了一个叫sakila
的数据库,则:USE sakila;
。
4、 SHOW 命令显示信息:SHOW DATABASES;
、 SHOW TABLES;
tips:MySQL不区分大小写,但是为了易读性,一般关键字全部大写,其他小写。
5、SHOW 也可以用来显示表列:SHOW COLUMNS FROM <表名>;
也可以用
DESCRIBE <表名>;
来显示表列信息。
6、其他 SHOW 语句:
- SHOW STATUS ,用于显示广泛的服务器状态信息;
- SHOW CREATE DATABASE和SHOW CREATE TABLE ,分别用来显示创
建特定数据库或表的MySQL语句;- SHOW GRANTS ,用来显示授予用户(所有用户或特定用户)的安
全权限;- SHOW ERRORS 和 SHOW WARNINGS ,用来显示服务器错误或警告消息。
四、检索数据
1、SELECT语句:最经常使用的SQL语句就是 SELECT 语句。它的用途是从一个或多个表中检索信息。 必须至少给出两条信息——想选择什么,以及从什么地方选择。
2、检索单个列:SELECT <列名> FROM <表名>;
。
tips:多条SQL语句必须以分号(;)分隔。
3、检索多个列:SELECT <列名>,<列名>,<列名> FROM <表名>;
4、检索所有列:SELECT * FROM <表名>
;
5、检索不同的行:SELECT DISTINCT <列名> FROM <表名>;
6、限制结果:SELECT <列名> FROM <表名> LIMIT 5,10;
LIMIT 5, 5 :返回从第6行开始的10行(返回10行数据);LIMIT 5:返回不多于5行数据。
7、使用完全限定的表名:SELECT <表名>.<列名> FROM <数据库名>.<表名>
例如:SELECT actor.actor_id FROM sakila.actor;
五、排序检索数据
1、 ORDER BY :明确地排序用 SELECT 语句检索出的数据。SELECT <列名> FROM <表名> ORDER BY <列名>;
。
通常, ORDER BY 子句中使用的列将是为显示所选择的列。但是,实际上并不一定要这样,用非检索的列排序数据是完全合法的。
2、按多个列排序: SELECT p_id,p_price,p_name FROM product ORDER BY p_id,p_name;
3、指定排序方向:SELECT p_id,p_price,p_name FROM product ORDER BY p_id DESC,p_name;
- DESC 关键字只应用到直接位于其前面的列名。
- 在多个列上降序排序 如果想在多个列上进行降序排序,必须对每个列指定 DESC 关键字。
- DESC 相反的关键字是 ASC ( ASCENDING ),默认,没多大用处。
4、ORDER BY 和 LIMIT 的组合,能够找出一个列中最高或最低的值:SELECT p_price FROM product ORDER BY p_price LIMIT 1;
ORDER BY 子句的位置:在给出 ORDER BY 子句时,应该保证它位于 FROM 子句之后。如果使用 LIMIT ,它必须位于 ORDER BY之后。使用子句的次序不对将产生错误消息。