**
1 初识数据库
1.1 常见概念和缩写:
DB: Database
DBMS:Database Management System,下述为数据库管理系统的分类思维导图。本次学习内容为关系型数据库:MySQL
1.2 初始SQL
1.2.1 常见缩写和概念:
(1)DDL
DDL:Data Definition Language,数据定义语言,用来创建或者删除存储数据用的数据库以及数据库中的表等对象。
DDL 常见指令:
CREATE : 创建数据库和表等对象
DROP : 删除数据库和表等对象
ALTER : 修改数据库和表等对象的结构
(2)DML
DML(Data Manipulation Language,数据操纵语言) 用来查询或者变更表中的记录。DML 包含以下几种指令。
SELECT :查询表中的数据
INSERT :向表中插入新数据
UPDATE :更新表中的数据
DELETE :删除表中的数据
(3)DCL
DCL(Data Control Language,数据控制语言) 用来确认或者取消对数据库中的数据进行的变更。除此之外,还可以对 RDBMS 的用户是否有权限操作数据库中的对象(数据库表等)进行设定。DCL 包含以下几种指令。
COMMIT : 确认对数据库中的数据进行的变更
ROLLBACK : 取消对数据库中的数据进行的变更
GRANT : 赋予用户操作权限
REVOKE : 取消用户的操作权限
实际使用的 SQL 语句当中有 90% 属于 DML
- List item数据库中存储的表结构类似于excel中的行和列,在数据库中,行称为记录,它相当于一条记录,列称为字段,它代表了表中存储的数据项目。
- 行和列交汇的地方称为单元格,一个单元格中只能输入一条记录。
1.2.2 SQL基本书写规则
- SQL语句要以分号( ; )结尾
- SQL 不区分关键字的大小写,但是插入到表中的数据是区分大小写的
- win 系统默认不区分表名及字段名的大小写 linux / mac
- 默认严格区分表名及字段名的大小写
- 单词需要用半角空格或者换行来分隔
- SQL 语句的单词之间需使用半角空格或换行符来进行分隔,且不能使用全角空格作为单词的分隔符,否则会发生错误,出现无法预期的结果。
操作:
- 创建数据库
1.2.2 数据库的创建( CREATE DATABASE 语句)
语法:
CREATE DATABASE < 数据库名称 > ;
创建本课程使用的数据库
CREATE DATABASE shop;
1.2.3 表的创建( CREATE TABLE 语句)
语法:
CREATE TABLE < 表名 >
( < 列名 1> < 数据类型 > < 该列所需约束 > ,
< 列名 2> < 数据类型 > < 该列所需约束 > ,
< 列名 3> < 数据类型 > < 该列所需约束 > ,
< 列名 4> < 数据类型 > < 该列所需约束 > ,
.
.
.
< 该表的约束 1> , < 该表的约束 2> ,……);
创建本课程用到的商品表
CREATE TABLE product
(product_id CHAR(4) NOT NULL,
product_name VARCHAR(100) NOT NULL,
product_type VARCHAR(32) NOT NULL,
sale_price INTEGER ,
purchase_price INTEGER ,
regist_date DATE ,
PRIMARY KEY (product_id))
(1). 数据的更新
基本语法:
UPDATE <表名>
SET <列名> = <表达式> [, <列名2>=<表达式2>...];
WHERE <条件>; -- 可选,非常重要。
ORDER BY 子句; --可选
LIMIT 子句; --可选
(2). 向 product 表中插入数据
基本语法:
INSERT INTO <表名> (列1, 列2, 列3, ……) VALUES (值1, 值2, 值3, ……);