Chapter 1 - 数据库和SQL
程序员文章站
2022-09-14 13:35:58
Chapter 1 - 数据库和SQLPart 1. 数据库是什么数据库(DB):将大量数据保存,通过计算机加工而成的可以进行高效访问的数据集合数据库管理系统(DBMS):用来管理数据库的计算机系统1. DBMS种类层次数据库(HDB)把数据通过层次结构(树形结构)的方式表现出来目前很少使用关系数据库(RDB)由行和列组成的二维表来管理数据使用专门的SQL(Structured Query Language)对数据进行操作面向对象数据库(OODB)把数据以及...
文章目录
Part 1. 数据库是什么
- 数据库(DB):将大量数据保存,通过计算机加工而成的可以进行高效访问的数据集合
- 数据库管理系统(DBMS):用来管理数据库的计算机系统
1. DBMS种类
-
层次数据库(HDB)
- 把数据通过层次结构(树形结构)的方式表现出来
- 目前很少使用
-
关系数据库(RDB)
- 由行和列组成的二维表来管理数据
- 使用专门的SQL(Structured Query Language)对数据进行操作
-
面向对象数据库(OODB)
- 把数据以及数据的操作集合以对象为单位进行管理
-
XML数据库(XMLDB)
- XML数据库可以对XML形式的大量数据进行高速处理
-
键值存储系统(KVS)
-
这是一种单纯用来保存查询所使用的主键(Key)和值(Value)的组
合的数据库
-
Part 2. 数据库的结构
1. RDBMS的常见系统结构
- 最常见的系统结构:客户端 / 服务器类型(C/S 类型)
2. 表的结构
- 用来管理数据的二维表在关系数据库中简称为表
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SCmgXe0g-1593876484634)(/Users/gray/Library/Application Support/typora-user-images/截屏2020-07-04 上午10.58.32.png)]
- 根据 SQL 语句的内容返回的数据同样必须是二维表的形式
- 关系数据库必须以行为单位进行数据读写
- 一个单元格中只能输入一个数据
Part 3. SQL概要
1. SQL语句及其种类
分类 | 指令 | 功能 |
---|---|---|
DDL数据定义语句 | CREATE | 创建数据可和表等对象 |
DROP | 删除数据库和表等对象 | |
ALTER | 修改数据库和表等对象的结构 | |
DML数据操纵语句 | SELECT | 查询表中的数据 |
INSERT | 向表中插入新数据 | |
UPDATE | 更新表中的数据 | |
DELETE | 删除表中的数据 | |
DCL数据控制语言 | COMMIT | 确认对数据库中的数据进行的变更 |
ROLLBACK | 取消对数据库中的数据进行的变更 | |
GRANT | 赋予用户操作权限 | |
REVOKE | 取消用户的操作权限 |
2. SQL的基本书写规则
SQL语句要以分号(;)结尾 | |
SQL语句不区分大小写;插入到表中的数据是区分大小写的 | 关键字大写 |
表名的首字母大写 | |
其余(列名等)小写 | |
常数的书写方式是固定的 | 字符串和日期常数需要使用单引号(')括起来 |
数字常数无需加注单引号(直接书写数字即可) | |
SQL 语句的单词之间需使用半角空格或换行符来进行分隔 |
Part 4. 表的创建
1. 数据库的创建
CREATE DATABASE <数据库名称>;
2. 表的创建
CREATE TABLE <表名>
( <列名1><数据类型><该列所需约束>,
<列名1><数据类型><该列所需约束>
<列名1><数据类型><该列所需约束>
<列名1><数据类型><该列所需约束>
...
<该表的约束1>,<该表的约束2>,...
);
# 示例
-> (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_data DATE,
-> PRIMARY KEY(product_id));
3. 命名规则
- 只能使用英文字母、数字、下划线(_)作为数据库、表和列的名称
- 名称必须以英文字母作为开头
- 同一个数据库中不能创建两个相同名称的表;同一个表中不能创建两个相同名称的表
4. 数据类型的指定
- 所有的类必须指定数据类型
- 数据类型表示数据的种类,包括数字型、字符型和日期型
- 每一列不能存储与该列数据类型不符的数据
INTEGER型 | 用来指定存储整数的列的数据类型,不能存储小数 |
CHAR型 | 用来指定存储字符串的列的数据类型,长度固定 |
VARCHAR型 | 用来指定存储字符串的列的数据类型,长度可变 |
DATE型 | 用来指定存储日期(年月日)的列的数据类型(日期型) |
5. 约束的设置
- NOT NULL :表示该列不能输入空白,也就是必须输入数据的约束
- PRIMARY KEY:设置主键约束,主键中元素是唯一的
Part 5. 表的删除和更新
1. 表的删除
DROP TABLE <表名>; # 删除的表,无法恢复;只能重新创建
2. 表定义的更新
- 添加列的ALTER TABLE语句
ALTER TABLE <表名> ADD COLUMN <列的定义>;
- 删除列的ALTER TABLE语句
ALTER TABLE <表名> DROP COLUMN <列名>; # mysql中不支持多行删除
- 【注意】表定义变更之后无法恢复
3. 向Product表中插入数据
BEGIN TRANSACTION;# mysql中修改为 START TRANSACTION;
INSERT INTO Product VALUES('0001', 'T恤衫','衣服', 1000, 500, '2009-09-20');
INSERT INTO Product VALUES('0002', 'T恤衫','衣服', 1000, 500, '2009-09-20');
COMMIT;# 确定插入行的指令;
4. 变更表名
RENAME TABLE Poduct to Product; # 重命名
本文地址:https://blog.csdn.net/GrayD1419/article/details/107132392
推荐阅读
-
mssql server .ldf和.mdf的文件附加数据库的sql语句
-
SQL Server 数据库管理常用的SQL和T-SQL语句
-
SQL Server2012数据库备份和还原的教程
-
SQL server 2008 数据安全(备份和恢复数据库)
-
SQL Server数据库————模糊查询和聚合函数
-
SQL server 数据库的索引和视图、存储过程和触发器
-
MySQL入门——MySQL数据库和SQL语言
-
使用instantclient_11_2 和PL/SQL Developer工具包连接oracle 11g远程数据库
-
PL/SQL远程备份和恢复Oracle数据库
-
我们在删除SQL Sever某个数据库表中数据的时候,希望ID重新从1开始,而不是紧跟着最后一个ID开始需要的命令