数据库类型:
- 层次数据库(Hierarchical Database, HDB)
数据通过层次结构(树形结构)的方式表示出来。
- 关系型数据库(Relational Database, RDB)
使用专门的SQL(Structured Query Language,结构化查询语言)语言对数据信息操作。
- 面向对象数据库(Object Oriented Database, OODB)
把数据以及数据的操作集合起来以对象为单位进行管理。
- XML数据库(XML Database, XMLDB)
可以对XML形式的大量数据进行高速处理。
- 键值存储系统(key-Value Store, KVS) 如redis
单纯用来保存查询所使用的主键和值得组合的数据库。
SQL语句及种类
- DDL (Data Definition Language)数据定义语言:
CREATE : 创建数据库和表对象
DROP: 删除数据库和表对象
ALTER: 修改数据库和表对象得结构
- DML(Data Manipulation Language数据库操作语言)占90%
SELECT
INSERT
UPDATE
DELETE
- DCL(Data Control Language数据库控制语言)
COMMIT:确认对数据库中的数据进行的变更。
ROLLBACK:取消对数据库中的数据进行的变更。
GRANT:赋予用户操作权限。
REVOKE:取消用户的操作权限。
SQL基本书写规则
SQL语句以分号(;)结尾。
SQL不区分关键字的大小写。
书写规则:
- 关键字大写
- 表名的首个字大写
- 其余(列名等)小写
字符串和日期常数需要使用单引号(') 括起来。数字常数无需加注单引号(直接书写数字即可)。
单词之间需要使用半角空格或者换行进行分隔。
表的创建
数据库的创建:CREATE DATABASE <数据库名称>;
表的创建:
CREATE TABLE<表名>
(<列名1> <数据类型> <该列所需约束>,
<列名2> <数据类型> <该列所需约束>,
...
<该表的约束1>,<该表的约束1>,...)
CREATE TABLE Shohin (shohin_id CHAR(4) NOT NULL, shohin_mei VARCHAR(100) NOT NULL, shohin_bunrui VARCHAR(32) NOT NULL, hanbai_tanka INTEGER , shiire_tanka INTEGER , torokubi DATE , PRIMARY KEY (shohin_id));
数据库名称、表名和列名等可以使用以下三种字符:半角英文字母、半角数字、下划线(_)。
名称必须以半角英文字母作为开头。
数据类型的指定:INTEGER、CHAR(定长字符串)、VARCHAR(可变长字符串)、DATE
约束:NOT NULL、 NULL、 PRIMARY KEY。
表的删除和更新
删除表:DROP TABLE <表名>;
添加列:ALTER TABLE <表名> ADD COLUMN <列的定义>;
删除列:ALTER TABLE <表名> DROP COLUMN <列名>;
插入数据:
START TRANSACTION; INSERT INTO Shohin VALUES ('0001', 'T恤' ,'衣服', 1000, 500, '2009-09-20'); INSERT INTO Shohin VALUES ('0002', '打孔器', '办公用品', 500, 320, '2009-09-11'); INSERT INTO Shohin VALUES ('0003', '运动T恤', '衣服', 4000, 2800, NULL); INSERT INTO Shohin VALUES ('0004', '菜刀', '厨房用具', 3000, 2800, '2009-09-20'); INSERT INTO Shohin VALUES ('0005', '高压锅', '厨房用具', 6800, 5000, '2009-01-15'); INSERT INTO Shohin VALUES ('0006', '叉子', '厨房用具', 500, NULL, '2009-09-20'); INSERT INTO Shohin VALUES ('0007', '擦菜板', '厨房用具', 880, 790, '2008-04-28'); INSERT INTO Shohin VALUES ('0008', '圆珠笔', '办公用品', 100, NULL, '2009-11-11'); COMMIT;