SQL 基础知识梳理(一)- 数据库与 SQL

目录

一、What's 数据库

1.数据库(Database,DB):将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合。如:大型-银行存储的信息,小型-电话簿。

2.数据库管理系统(Batabase Management System,DBMS):用来管理数据库的计算机系统。

3.关系型数据库(Relational Database,RDB):目前应用最广泛的数据库。

4.结构化查询语言(Structured Query Language,SQL):专门用于操作 RDB。

5.常见的 5 种关系型数据库管理系统(Relational Database Management System,RDBMS):

①Oracle Database:甲骨文公司

②SQL Server:微软公司

③DB2:IBM 公司

④PostgreSQL:开源

⑤MySQL:开源

二、数据库结构

1.服务器:用于接收并处理其它程序发出的请求的程序(软件),或者是安装此类程序的设备(计算机)。

2.客户端:向服务器发出请求的程序(软件),或者是安装此类程序的设备(计算机)。

3.表(table):类似 Excel,由行和列组成的二维表。

4.字段:表的列(垂直方向)。

5.记录:表的行(水平方向)。【注意】关系数据库必须以行为单位进行数据读写。

6.单元格:行列交汇处。【注意】与 Excel 不同,一个单元格只能输入一个数据。

三、SQL 概要

1.SQL 语句:用关键字、表名和列名等组合而成的一条语句。

2.3 种 SQL 语句种类:

(1)DDL(Data Definition Language,数据定义语言):创建、删除或修改数据库以及数据库中的表等对象。

①CREATE:创建数据库和表等对象

②DROP:删除数据库和表等对象

③ALTER:修改数据库和表等对象

(2)DML(Data Manipulation Language,数据操作语言):查询或修改表中的记录。

①SELECT:查询表中的数据

②INSERT:向表中插入数据

③UPDATE:修改表中的数据

④DELETE:删除表中的数据

(3)DCL(Data Control Language,数据控制语言):确认或取消对数据库中的数据变更的执行操作,以及对用户的操作数据库中的对象权限进行设定。

①COMMIT:确认对数据库中的数据进行的变更

②ROLLBACK:取消对数据库中的数据进行的变更

③GRANT:赋予用户的操作权限

④REVOKE:取消用户的操作权限

【备注】DML 使用最频繁。

3.SQL 语句书写规范:

①以分号(;)结尾;

②大小写不敏感,不区分关键字的大小写;【注意】插入到表中的数据是区分大小写的,如"HI"、"Hi"和"hi"都不同。

③该系列随笔将采用"关键字大写,表名和列名的首字母大写"的格式。

④单词使用半角空格或换行符隔开

4.常数的书写方式:

字符串、日期:用单引号括起来('),如'Hello','2016-09-24'。

数字:直接书写,不用加单引号,如:5。

四、创建数据库与表

1.数据库创建:

复制代码
-- 语法:CREATE DATABASE <数据库名称>

CREATE DATABASE Shop -- 创建名为 Shop 的数据库

2.表的创建

![复制代码](https://file.jishuzhan.net/article/1705887618400522242/410a034e41f4342238d2140cbb0b0f27.webp)\](javascript:void(0); "复制代码") -- 语法: -- CREATE TABLE <表名> -- ( -- <列名1> <数据类型> <约束>, -- <列名1> <数据类型> <约束>, -- ... -- <表约束1>, -- <表约束2>, -- ... -- ) \[![复制代码](https://file.jishuzhan.net/article/1705887618400522242/410a034e41f4342238d2140cbb0b0f27.webp)\](javascript:void(0); "复制代码") \[![复制代码](https://file.jishuzhan.net/article/1705887618400522242/410a034e41f4342238d2140cbb0b0f27.webp)\](javascript:void(0); "复制代码") -- 创建名为 Shohin 的表 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) ); \[![复制代码](https://file.jishuzhan.net/article/1705887618400522242/410a034e41f4342238d2140cbb0b0f27.webp)\](javascript:void(0); "复制代码") ![](https://file.jishuzhan.net/article/1705887618400522242/552ffa6fa4fba6023c959cbc131554f9.webp) 3.命名规则: ①只能使用半角英文字母、数字、下划线(_)作为数据库、表和列的名称; ②规范要求命名以半角英文字符开头; ③名称不能重复。 4.数据类型的指定:声明该列的数据类型,是一种约束。 5.数据类型介绍: ①INTEGER:整型,意味不能存储小数; ②CHAR:字符串型,如 CHAR(10)和 CHAR(100)中的括号表名该列可以存储的字符串的最大长度。它是"定长字符串",如 CHAR(8) 表示在列中插入 'abc' 时会自动保存成 'abc '(后面5个半角空格)的形式; ③VARCHAR:字符串型,类似 CHAR,不同的是它是 "可变长字符串",如 VARCHAR(8) 在插入 'abc',保存的就是字符串 'abc'; ④DATE:日期类型; ... ... 6.约束: ①非空约束:NULL 是空白(无记录)的意思的关键字,NOT NULL 表示必须输入的约束。 ②主键约束:主键是可以确定一行数据的列,一般通过它取特定行的数据,它是唯一的,不允许重复。 ... ... ![](https://file.jishuzhan.net/article/1705887618400522242/c52457540b64b439b91b0d981efa6f88.webp) ### 五、更新和删除表 1.删除表 -- 语法:DROP TABLE <表名> DROP TABLE Shohin; -- 删除名为 Shohin 的表 【注意】被删的表,无法恢复。 2.更新表 (1)添加列 -- 语法:ALTER TABLE <表名> ADD <列名> <类型>; ALTER TABLE Shohin ADD Shohin_mei_Kana VARCHAR(100); -- 在 Shohin 中添加名为 Shohin_mei_Kana 类型为 VARCHAR(100) 的列 (2)删除列 -- 语法:ALTER TABLE <表名> DROP COLUMN <列名>; ALTER TABLE Shohin DROP COLUMN Shohin_mei_Kana; -- 删除 Shohin 表中名为 Shohin_mei_Kana 的列 【注意】表定义变更后无法恢复。

相关推荐
Ailovelearning27 分钟前
neo4j框架:ubuntu系统中neo4j安装与使用教程
数据库·neo4j
CertiK1 小时前
Crowdfund Insider聚焦:CertiK联创顾荣辉解析Web3.0创新与安全平衡之术
安全·web3
IP管家1 小时前
物联网设备远程管理:基于代理IP的安全固件更新通道方案
服务器·网络·物联网·网络协议·tcp/ip·安全·ip
shenyan~1 小时前
关于 Web安全:1. Web 安全基础知识
安全·web安全
搬码临时工1 小时前
远程连接电脑的方法?异地远程桌面连接和三方软件实现
运维·服务器·网络·物联网·电脑·远程工作
_星辰大海乀1 小时前
表的设计、聚合函数
java·数据结构·数据库·sql·mysql·数据库开发
未来之窗软件服务2 小时前
solidwors插件 开发————仙盟创梦IDE
前端·javascript·数据库·ide·仙盟创梦ide
yc_12242 小时前
SqlHelper 实现类,支持多数据库,提供异步操作、自动重试、事务、存储过程、分页、缓存等功能。
数据库·c#
DonciSacer2 小时前
网络流量分析 | NetworkMiner
安全
WuYiCheng6662 小时前
IPsec VPN与SSL VPN实验思路(eNSP)
网络·智能路由器