一、数据库和SQL
1. 数据库 Database, 数据库管理系统 DBMS
数据库管理系统的种类
- 层次数据库 HDB
- 关系数据库 RDB
- 面向对象数据库 OODB(object Oriented Database)
- XML数据库
- 键值存储系统 KVS
2. 数据库结构
- 常用结构 客户端/服务器类型(C/S类型)
- RDBMS一般是表结构
3. SQL概要
3.1 SQL语句及其种类
- DDL(Data Definition Language,数据定义语言),指令:
CREATE:创建数据库和表等对象(database;table)
DROP:删除数据库和表对象
ALTER: 修改数据库和表等对象结构 - DML(Data Manipulation Language,数据操纵语言):
SELECT:查询表中的数据
INSERT:向表中插入新数据
UPDATE:更新表中的数据
DELETE:删除表中的数据 - DCL(Data Control Language,数据控制语言):用来确认或者取消对数据库中的数据进行的变更
COMMIT: 确认对数据库中的数据进行变更
ROLLBACK: 取消对数据库中的数据进行变更
GRANT: 赋予用户操作权限
REVOKE:取消用户的操作权限
3.2 基本书写规则
- 分号结尾
- 不区分大小写单词用半角格或换行来分隔
4 表的创建
- 创建数据库
CREATE DATABASE shop - 创建表格
CREATE TABLE Product - 命名规则:只能使用半角英文字母、数字、下划线作为数据库、表和列名。名称必须英文字母开头,一个数据库中不能有两个相同名称的表。
- 数据类型指定,所有列都必须指定数据类型。
数据类型包括:数字型、字符型和日期型。
INTERGER:以定长形式保存字符。字符 CHAR(10), CHAR(200)
VARCHAR:以可边长形式来保存字符。
DATE:日期 - 约束设置
Not NULL,
Primary key (product_id)主键约束,不重复
5 表的删除与更新
- 删除
DROP TABLE,删除后无法恢复
DROP TABLE Product;
- 表定义的更新(
ALTER TABLE)
ADD DROP
ALTER TABLE <表名> ADD COLUMN <列名>;
ALTER TABLE <表名> ADD COLUMN (<列名>,<列名>, ...)
ALTER TABLE Product ADD COLUMN product_name_pinyin VARCHAR(100);
ALTER TABLE <表名> DROP COLUMN <列名>;
ALTER TABLE Product DROP COLUMN product_name_pinyin;
- 插入数据(DML)
START TRANSACTION;
INSERT INTO Product VALUES ('0001', 'T恤', 'close', 1000, 500, '2009-09-20');
INSERT INTO Product VALUES ...
COMMIT;
- 表名命名错误可以用
rename
二、 查询基础
2.1、SELECT语句基础
列的查询
查询出表中所有的列
为列设定别名
常数的查询
从结果中删除重复行
根据WHERE 语句来选择记录
注释的书写方法
2.2、算术运算符和比较运算符
算术运算符
注意NULL
比较运算符
对字符串使用不等号时的注意事项
不能对NULL使用比较运算符
2.3、逻辑运算符
NOT运算符
AND运算符和OR运算符
使用括号强化处理
逻辑运算符和真值
含有NULL时的真值