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

时间:2022-09-06 21:45:25

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

【博主】反骨仔    【原文地址】http://www.cnblogs.com/liqingwen/p/5902856.html

[SQL] 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.客户端:向服务器发出请求的程序(软件),或者是安装此类程序的设备(计算机)。

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

  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 的数据库

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

  

  2.表的创建

-- 语法:
-- CREATE TABLE <表名>
-- (
-- <列名1> <数据类型> <约束>,
-- <列名1> <数据类型> <约束>,
-- ...
-- <表约束1>,
-- <表约束2>,
-- ...
-- )
-- 创建名为 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)
);

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

  

  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 表示必须输入的约束。

    ②主键约束:主键是可以确定一行数据的列,一般通过它取特定行的数据,它是唯一的,不允许重复。

    ... ...

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

五、更新和删除表

  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 的列

  【注意】表定义变更后无法恢复。

传送门

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

  《SQL 基础知识梳理(二) - 查询基础

  《SQL 基础知识梳理(三) - 聚合和排序

  《SQL 基础知识梳理(四) - 数据更新

备注

  这里的语句采用 SQL Server 进行验证。


【参考】《SQL ゼロからはじめるデータベース操作》

[SQL] SQL 基础知识梳理(一)- 数据库与 SQL的更多相关文章

  1. 【SQL】- 基础知识梳理(二) - SQL简介

    一.引言 在梳理这些知识之前,说实话,如果有人问我SQL是什么?我可能会回答就是“INSERT,DELETE,UPDATE,SELECT”语句呗,还能是啥. 二.SQL概念 SQL是什么? SQL是S ...

  2. 【SQL】- 基础知识梳理(三) - SQL连接查询

    一.引言 有时为了得到一张报表的完整数据,需要从两个或更多的表中获取结果,这时就用到了"连接查询". 二.连接查询 连接查询的定义: 数据库中的表通过键将彼此联系起来,从而获取这些 ...

  3. 【SQL】- 基础知识梳理(一) - 数据库

    一.引言 知识分享这个事情在公司会议上被提出过几次,可一直因各种事情耽搁下来,“我不如地狱,谁入地狱”,怀着这样一种心态,写下了 数据库系列知识分享. 本文将一步步通过循序渐进的方式带你去了解数据库. ...

  4. 【SQL】- 基础知识梳理(四) - 存储过程

    存储过程的概念 存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行 存储过程的好处 A. 存储过程允许标准组件式编程  ...

  5. 【SQL】- 基础知识梳理(六) - 游标

    游标的概念 结果集,结果集就是select查询之后返回的所有行数据的集合. 游标(Cursor): 是处理数据的一种方法. 它可以定位到结果集中的某一行,对数据进行读写. 也可以移动游标定位到你需要的 ...

  6. 【SQL】- 基础知识梳理(八) - 事务与锁

    事务的概念 事务:若干条T-SQL指令组成的一个操作数据库的最小执行单元,这个整体要么全部成功,要么全部失败.(并发控制) 事务的四个属性:原子性.一致性.隔离性.持久性.称为事务的ACID特性. 原 ...

  7. 【SQL】- 基础知识梳理(七) - 索引

    索引的概念 在关系型数据库中,索引是对数据库表中一列或多列的值进行排序的一种结构. SQL SERVER中有索引的类型:按存储结构区分:“聚集索引(又称聚类索引,簇集索引)”,“分聚集索引(非聚类索引 ...

  8. 【SQL】- 基础知识梳理(五) - 触发器

    触发器的概念 触发器对表进行插入.更新.删除的时候会自动执行的特殊存储过程 触发器的语法 create trigger tgr_name on table_name with encrypion –加 ...

  9. &lbrack;SQL&rsqb; SQL 基础知识梳理(二) - 查询基础

    SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...

随机推荐

  1. Create Volume 操作(Part II) - 每天5分钟玩转 OpenStack(51)

    上一节我们讨论了 Cinder 创建 Volume 的第一部分,cinder-api 的操作,本节继续第二部分,cinder-scheduler 调度工作. cinder-scheduler 执行调度 ...

  2. Appium运行时,error&colon; Logcat capture failed&colon; spawn ENOENT的解决办法

    目前发现有以下两种可能: 一:查看环境变量是否配置成功. ANDROIDSDK D:\my_2_softwares\JAVA\adt-bundle-windows-x86-20140702\sdkPA ...

  3. php-fpm 进程管理

    2015年2月26日 15:40:15 先查找 PHP-FPM 的进程号 ps -ef | grep php-fpm root Feb12 ? :: php-fpm: master process ( ...

  4. 实例:SSH结合Easyui实现Datagrid的新增功能和Validatebox的验证功能

    在我前面一篇分页的基础上,新增了添加功能和添加过程中的Ajax与Validate的验证功能.其他的功能在后面的博客写来,如果对您有帮助,敬请关注. 先看一下实现的效果: (1)点击添加学生信息按键后跳 ...

  5. ZendStudio-12&period;5&period;0-win32&period;win32&period;x86&lowbar;64&period;msi官方版本及破解工具

    网上的工具试了好多,最后下载的这个工具成功了,之前的N个工具都失败了 亲自试用,表示有效!!! ZendStudio-12.5.0-win32.win32.x86_64.msi官方版本下载地址:  百 ...

  6. 黄聪:安装cnpm替代默认的npm

    使用cnpm替代默认的npm: npm install -g cnpm --registry=https://registry.npm.taobao.org

  7. 执行sh脚本文件下载Github上的代码&lpar;雷霄骅的ffmpeg示例代码&rpar;

       今天想重新学习下ffmpeg,于是又来到了雷晓骅的博客,先下载了他的所有代码,这里记录一下在Windows上使用sh脚本下载GitHub上代码的过程. CygWin(最后并没有用到)    可以 ...

  8. mysql添加注释

    -- 查看字段类型-- show columns from campaign_distribute --给表添加注释 -- alter table campaign_distribute commen ...

  9. CSS再学

    css的注释 /*.......*/ 直接在html代码中写css <p style="color: rebeccapurple;font-size: 18px">Ha ...

  10. Redhat 6&period;4 linux系统不重启识别热添加的硬盘方法

    1.1    选择虚拟机添加一块硬盘 1.2    查看系统当前磁盘信息 [root@zhongyi-test ~]# ls -l /dev/sd* brw-rw----. 1 root disk 8 ...