基础SQL的学习,持续更新。
Day1 初识SQL
一、初识数据库
1. DBMS的分类
2. RDBMS的常见系统结构
二、初识SQL
1. SQL语句分类
2. SQL基本书写标准
3. 命名规则
4. 数据类型
5. 约束的设置
三、SQL语句
1. 数据库创建
2. 数据库的使用
3. 表的创建
4. 表的删除
5. 表的更新
6. 数据的插入
7. 数据的删除
8. 数据的更新
练习题
小言
数据库是将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合。该数据集合称为数据库(Database, DB)。用来管理数据库的计算机系统称为数据库管理系统(Database Management System, DBMS)。
通过数据的保存格式(数据库的类型)来进行分类,现阶段5种类型
对列中的数据进行限制或追加条件的功能
CREATE DATABASE <数据库名称>;
USE DATABASE <数据库名称>;
CREATE TABLE <表名>
(<列名1> <数据类型> <约束>,
<列名2> <数据类型> <约束>,
… …
<表的约束1>,<表的约束2>);
CREATE DATABASE shop; ---创建shop数据库
use shop; --- 使用shop数据库
CREATE TABLE material_table
(materialcode VARCHAR(5) NOT NULL,
materialdescription VARCHAR(255) ,
materialtype VARCHAR(255),
labelprice decimal(20,2),
saledate date,
quantity decimal(20,2),
amount decimal(20,2),
PRIMARY KEY (materialcode));
---创建material_table表,主键为materialcode
DROP TABLE <表名>; ---删除整张表
删除的表是无法恢复的,只能重新插入
ALTER TABLE <表名> ADD COLUMN <列的定义>;---添加列
ALTER TABLE <表名> DROP COLUMN <列的定义>; ---删除列
INSERT INTO <表名> (列1, 列2, ……) VALUES (值1,值2,……);
---对全列进行插入时可以省略列名
INSERT INTO material_table VALUES('00006','键盘','办公用品',233,'2020-10-15',20,4660);
--插入多行
INSERT INTO material_table VALUES ('00002','铅字笔','文具',2,'2020-10-10',40,80),
('00005','鼠标','办公用品',99,'2020-10-14',240,23760);
---插入其他表复制的数据
INSERT INTO material_table_copy(materialcode, materialdescription, materialtype, labelprice, saledate, quantity, amount)
SELECT materialcode, materialdescription, materialtype, labelprice, saledate, quantity, amount
FROM material_table;
TRUNCATE TABLE TABLE_NAME; ---清空表内容
DELETE FROM TABLE_NAME; ---删除表内容
truncate清除数据的速度比drop/delete快
---数据的更新
UPDATE <表名>
SET <列名> = <表达式> [,<列名2> = <表达式2>]
WHERE <条件> ---可选,限制条件
ORDER BY 子句; ---可选,排序
LIMIT 子句; ---可选,限制数据数量
UPDATE material_table
SET saledate = '2020-10-09'
WHERE materialcode = '00001';
---UPDATE可以将NULL作为值使用(非NOT NULL和主键约束)
UPDATE material_table
SET saledate = NULL
WHERE materialcode = '00001';
1.1 创建包含以下字段的表Addressbook,regist_no设置主键约束
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(10),
PRIMARY KEY(regist_no)
);
1.2 在Addressbook中添加列postal_code(邮政编码),定长字符串(8),不能为空
ALTER TABLE Addressbook ADD postal_code CHAR(8) NOT NULL;
1.3 编写SQL语句删除Addressbook表
DROP TABLE Addressbook;
1.4 编写SQL语句恢复删除的Addressbook表
删除的表格只能通过新建的方式重建
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(10),
postal_code CHAR(8) NOT NULL,
PRIMARY KEY(regist_no)
);
以上就是今天的内容,仅仅简单介绍了一下SQL,希望大家可以根据练习题检测一下自己。之后会持续更新~