第一章  数据库技术的基本概念与方法

第二章  MySQL概述

2.5 MySQL语言结构

2.5.1  结构化查询语言SQL

SQL是结构化查询语言(Struchured Query Language)的英文缩写。SQL语句不区分大小写。

2.5.2  MySQL语言组成

1.数据定义语言(DDL):CREATE(用于创建数据库或数据库对象);ALTER(用于对数据库或数据库对象进行修改);DROP(用于删除数据库或数据库对象)。

2.数据操纵语言(DML):SELECT(用于从表或视图中检索数据,是数据库中使用最为频繁的SQL语句之一);INSERT(用于将数据插入或视图中);UPDATE(用于修改表或视图中的数据,其既或修改表或视图中一行数据,也可同时修改多行或全部数据);DELETE(用于从表或视图中删除数据,其中可根据条件删除指定的数据)。

3.数据控制语言(DCL):GRANT(用于授予权限,可把语句许可或对象许可的权限授予其他用户和角色);REVOKE(用于收回权限,其功能与GRANT相反,但不影响该用户或角色从其他角色中作为成员继承许可权限)。

4.MySQL扩展增加的语言要素:常量、变量、运算符、表达式、函数、流程控制语句和注解等。

第三章  数据库和表

3.1数据库的创建与使用

3.1.1创建数据库


CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
 
    [create_specification [, create_specification] ...] 
 
create_specification:
 
    [DEFAULT] CHARACTER SET charset_name  | [DEFAULT] COLLATE collation_name


CREATE DATABASE用于创建数据库,并进行命名。


create_specification选项用于指定数据库的特性。CHARACTER SET子句用于指定默认的数据库字符集。COLLATE子句用于指定默认的数据库整序。
也可以使用CREATE SCHEMA。
3.1.2 选择数据库
USE db_name;
USE db_name语句可以通告MySQL把db_name数据库作为默认(当前)数据库使用,用于后续语句。该数据库保持为默认数据库,直到语段的结尾,或者直到发布一个不同的USE语句:mysql> USE db1;
mysql> SELECT COUNT(*) FROM mytable;   # selects from db1.mytable
mysql> USE db2;
mysql> SELECT COUNT(*) FROM mytable;   # selects from db2.mytable
使用USE语句为一个特定的当前的数据库做标记,不会阻碍您访问其它数据库中的表。3.1.3 修改数据库ALTER {DATABASE | SCHEMA} [db_name]
    alter_specification [, alter_specification] ...alter_specification:
    [DEFAULT] CHARACTER SET charset_name | [DEFAULT] COLLATE collation_name
ALTER DATABASE用于更改数据库的全局特性。CHARACTER SET子句用于更改默认的数据库字符集。COLLATE子句用于更改默认的数据库整序。
数据库名称可以忽略,此时,语句对应于默认数据库。也可以使用ALTER SCHEMA。
3.1.4 删除数据库DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
DROP DATABASE用于取消数据库中的所用表格和取消数据库。使用此语句时要非常小心!如果要使用DROP DATABASE,您需要获得数据库DROP权限。IF EXISTS用于防止当数据库不存在时发生错误。也可以使用DROP SCHEMA。3.1.5 查看数据库SHOW {DATABASES | SCHEMAS} [LIKE 'pattern']SHOW DATABASES可以在MySQL服务器主机上列举数据库。您也可以使用mysqlshow命令得到此清单。您只能看到您拥有某些权限的数据库,除非您拥有全局SHOW DATABASES权限。如果服务器以--skip-show-database选项为起始,则您根本不能使用本语句,除非您拥有SHOW DATABASES权限。也可以使用SHOW SCHEMAS。3.2 创建和操纵表3.2.1 创建表CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    [(create_definition,...)]    [table_options] [select_statement]或:CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    [(] LIKE old_tbl_name [)]; # 创建一个与old_tbl_name表结构相同的tbl_name空表。第四章  表数据的基本操作第五章  数据库的查询第六章  索引第七章  视图第八章  数据完整性约束与表维护语句第九章  触发器第十章  事件第十一章  存储过程与存储函数第十二章  访问控制与安全管理第十三章  备份与恢复第十四章  PHP的MySQL数据库编程