设为首页 收藏本站
查看: 835|回复: 0

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

[复制链接]

尚未签到

发表于 2017-7-14 13:15:22 | 显示全部楼层 |阅读模式
SQL 基础知识梳理(一)- 数据库与 SQL

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


目录


  • What's 数据库
  • 数据库结构
  • 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.客户端:向服务器发出请求的程序(软件),或者是安装此类程序的设备(计算机)。
DSC0001.png

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

  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)
);
DSC0003.png

  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 表示必须输入的约束。
  ②主键约束:主键是可以确定一行数据的列,一般通过它取特定行的数据,它是唯一的,不允许重复。
  ... ...
DSC0004.png


五、更新和删除表
  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 ゼロからはじめるデータベース操作》

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-393739-1-1.html 上篇帖子: sql server time(7) 默认值 下篇帖子: SQL Server在更改计算机名后的设置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表