DB、DBS、DBMS三者的关系
DBS(数据库系统)包括DB(数据库)和DBMS(数据库管理系统)
SQL Structureed Query Language是结构化查询语言
按照功能用途,可以将SQL语言分为4类:
•DDL(数据定义语言DDL)
•DML(数据操纵语言)
•DCL(数据控制语言)
•DQL(数据查询语言)
数据定义语言:负责数据库,表,视图等的建立和删除,关键字有create,alter,drop。
用来创建数据库中的各种对象-----表、视图、索引、同义词、聚簇等。举例:
CREATE TABLE/VIEW/INDEX/SYN/CLUSTER
依次是:创建 表 视图 索引 同义词 簇
注意事项:DDL操作是隐性提交的!不能rollback。
数据操纵语言:负责数据记录的增删改。主要有三种形式:
- 插入:INSERT
- 更新:UPDATE
- 删除:DELETE
数据控制语言:负责数据库对象权限管理和事务管理,,对数据库实行监视。
commit(提交)
rollback(回滚)
grant(授权)
举例:
- GRANT:授权。
- ROLLBACK [WORK] TO [SAVEPOINT]:回退到某一点。
回滚命令使数据库状态回到上次最后提交的状态。其格式为:
MySQL>ROLLBACK;
- COMMIT [WORK]:提交。
在数据库的插入、删除和修改操作时,只有当事务在提交到数据库时才算完成。在事务提交前,只有操作数据库的这个人才能有权看到所做的事情,别人只有在最后提交完成后才可以看到。提交数据有三种类型:显式提交、隐式提交及自动提交。下面分别说明这三种类型。
(1) 显式提交
用COMMIT命令直接完成的提交为显式提交。其格式为:
MySQL>COMMIT;
(2) 隐式提交
用SQL命令间接完成的提交为隐式提交。这些命令是:
Alter,AUDIT,Comment,Connect,Create,Disconnect,Drop,
Exit,Grant,Noaudit,Quit,Revoke,Rename。
(3) 自动提交
若把AUTOCOMMIT设置为ON,则在插入、修改、删除语句执行后,系统将自动进行提交,这就是自动提交。其格式为:
MySQL>SET AUTOCOMMIT ON;
数据查询语言:数据库查询
子句组成的查询块:
SELECT <字段名表>
FROM <表或视图名>
WHERE <查询条件>
|---------------------------------------------------------------------------------------------------------------------
命令行
#查看版本
MySQL>select version();
#创建数据库
create database db_name;
如:
MySQL>create database mydb;
#查看数据库
MySQL>show databases;
#删除数据库
drop database db_name;
如:
MySQL>drop database mydb;
#显示当前工作的数据库
MySQL>select database();
#进入想进的数据库
use db_name;
如:
MySQL>use mydb;