学习来自:http://datawhale.club/t/topic/477 的笔记
本章主要是对数据库的基本介绍,虽然我不太想认识它。
数据库就是保存了大量数据的一个库,用来管理数据库的计算机系统称为数据库管理系统也叫DBMS(扫盲)
层次数据库(Hierarchical Database,HDB)
关系数据库(Relational Database,RDB) 扫盲
讲真平时我就听标红的两个比较多,现在在用的是MYSQL
由行和列组成的二维表,像excel这种类型的 DBMS 称为关系数据库管理系统
面向对象数据库、 XML数据库、键值存储系统 咱也没见过咱也不敢问这事啥,先把关系数据库学学好吧
就是这样发送命令处理过后给你返回你要的数据,服务器会读取数据库里的数据处理后给你
和excel一样有行(记录)、列和单元格
对RDBMS赋予的指令不同可以分三类
DDL(数据定义语言) 创建表和删数据库或者表用的包含:
DML(数据操纵语言) 用来查询或变更表中的记录
DCL(数据控制语言) 用来确认或者取消对数据库中的数据进行的变更
以上我也没全记下来,可能学到后面慢慢的也就会了,不太着急,听说我们用的90% 属于 DML
语句要以;结尾。不区分大小写,插入表格需要大小写
mac和linux要大小写,拜拜mac 从今以后我们不约了
SQL 语句的单词要用半角空格分开
CREATE DATABASE
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));
只能使用半角英文字母、数字、下划线(_)作为数据库、表和列的名称
名称必须以半角英文字母开头
NOT NULL 该列必须输入数据
PRIMARY KEY: 唯一值 主键
练习:添加一列可以存储100位的可变长字符串的 product_name_pinyin 列:
ALTER TABLE product ADD COLUMN product_name_pinyin VARCHAR(100);
基本语法:
UPDATE <表名> SET <列名> = <改的东西> [, <列名2>=<表达式2>...];
WHERE <条件>; -- 可选,非常重要。
ORDER BY 子句; --可选
LIMIT 子句; --可选
例:-- 修改所有的注册时间
UPDATE product SET regist_date = '2009-10-10'; -- 仅修改部分商品的单价
UPDATE product SET sale_price = sale_price * 10
WHERE product_type = '厨房用具';
SET 子句中的列不仅可以是两列,还可以是三列或者更多。
语法:INSERT INTO <表名> (列1, 列2, 列3, ……) VALUES (值1, 值2, 值3, ……);
练习题:
1、CREATE TABLE Addressbook ---表名
(regist_no INTEGER, NOT NULL,----列名,字段类型,约束条件
name VARCHAR(128) NOT NULL,
address VARCHAR(256) NOT NULL,
tel_no CHAR(10),
mail_address CHAR(20) ,
PRIMARY KEY (regist_no));
2、
ALTER TABLE Addressbook ADD COLUMN postal_code not null ;
3、
DROP TABLE Addressbook ;
4、
CREATE TABLE Addressbook ---表名
(regist_no INTEGER, NOT NULL,----列名,字段类型,约束条件
name VARCHAR(128) NOT NULL,
address VARCHAR(256) NOT NULL,
tel_no CHAR(10),
mail_address CHAR(20) ,
PRIMARY KEY (regist_no));