20世纪70年代,IBM开发出SQL,用于DB2
1981年,IBM推出SQL/DS数据库
业内标准微软和Sybase的T-SQL,Oracle的PL/SQL
SQL作为关系型数据库所使用的标准语言,最初是基于IBM的实现在1986年被批准的。1987年,“国际标准化
组织(ISO)”把ANSI(美国国家标准化组织) SQL作为国际标准。
SQL:ANSI SQL
SQL-86, SQL-89, SQL-92, SQL-99, SQL-03
SQL语言规范
在数据库系统中,SQL语句不区分大小写(建议用大写)
但字符串常量区分大小写
SQL语句可单行或多行书写,以“;”结尾
关键词不能跨多行或简写
用空格和缩进来提高语句的可读性
子句通常位于独立行,便于编辑,提高可读性
注释:
SQL标准:
/*注释内容*/ 多行注释
— 注释内容 单行注释,注意有空格
MySQL注释:
#
数据库的组件(对象):
数据库(database)、表(table)、索引(index)、、用户(user)、存储过程(procedure)、
函数(function)、触发器(trigger)、事件调度器(event scheduler)等
命名规则:
必须以字母开头
可包括数字和三个特殊字符(# _ $)
不要使用MySQL的保留字
同一database(Schema)下的对象不能同名
SQL语句分类
DDL: Data Defination Language(数据的定义语言)对数据结构,数据对象
CREATE(增), DROP(删), ALTER(改)
DML: Data Manipulation Language(数据的操作语言)对数据的,加记录数据
INSERT(增), DELETE(删), UPDATE(改)
DCL:Data Control Language(数据的控制语言)权限为题
GRANT(授权), REVOKE(撤销)
DQL:Data Query Language(数据的查询语言)
SELECT(选择)
SQL语句构成:
Keyword组成clause(关键字组成的句子)
多条clause组成语句
示例:
SELECT * SELECT子句
FROM products FROM子句
WHERE price>400 WHERE子句
说明:此为一组SQL语句,由三个子句构成,SELECT,FROM和WHERE是关键字
创建数据库:
CREATE DATABASE|SCHEMA [IF NOT EXISTS] ‘DB_NAME’;
CHARACTER SET ‘character set name’
COLLATE ‘collate name’
删除数据库
DROP DATABASE|SCHEMA [IF EXISTS] ‘DB_NAME’;
查看支持所有字符集:SHOW CHARACTER SET;
查看支持所有排序规则:SHOW COLLATION;
获取命令使用帮助:
mysql> HELP KEYWORD;
查看数据库列表:
mysql> SHOW DATABASES;
表:二维关系