1.1 DBMS

DatabaseManagermentSystem

数据库管理系统

DBMS种类

  • 层次型数据库(HDB)

    最古老的数据库之一,把数据通过层次结构的方式表现。
  • 关系型数据库(RDB)

    和EXCEL工作表一样,同样采用行列为二维表结构来管理数据。
  • 面向对象数据库
  • XML数据库
  • 键值存储系统

代表性的5种DBMS:

  • Oracle Database 甲骨文公司的RDBMS
  • SQL Server 微软公司的
  • DB2 IBM公司的
  • PostgreSQL 开源的
  • MySQL 开源的

数据库代表性特点

  1. 多人共享数据
  2. 提供进行大量数据的操作
  3. 应对突发事故

1.2 数据库结构

  • RDBMS 通常使用客户端/服务器这样的系统结构。
  • 通过从客户端向服务器端发送SQL语句来实现数据库的读写操作。
  • 数据库表, 由表示数据项目的列(字段)和表示一条数据的行(记录)所组成。以记录为单位进行数据读写

法则1-1

关系数据库以行为单位读写

SQL语句及其种类

SQL用关键字、表明、列名等组合而形成的一个语句(SQL语句)来描述操作的内容。

分类:

  • DDL

    DDL(数据定义语言)

    用来创建或者删除存储数据用的数据库以及数据库中的表的对象。

    - CREATE 创建

    - DROP 删除

    - ALTER 修改数据库和表对象的结构

  • DML

    DML(数据操作语言)

    用来查询或者变更表中的记录。

    - SELECT 查询表中数据

    - INSERT 向表中插入

    - UPDATE 变更

    - DELETE 删除表中的数据

  • DCL

    DCL(数据控制语言)用来确认或者取消对数据库中的数据进行变更。还可以对RDBMS的用户是否有权限操作数据库中的对象进行设定。

    - COMMIT 确认数据库中的数据进行变更

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

    - GRANT 赋予用户操作权限

    - REVOKE 取消用户的操作权限。

用到的语句,90%都是DML。

SQL的基本书写规则

  • 语句要以分号;结尾
  • SQL语句不区分大小写

    但是为了方便理解,使用以下规则:

    - 关键字大写

    - 表名的首个字大写

    - 其余小写
**注意,插入到表中的数据,是区分大小写的。**
例如数据Computer、和COMPUTER不一样。
  • 固定的书写方式

    - 字符串 使用单引号引住

    例如 'abc'

    - 日期 同样使用单引号括起来,有特有的格式。

1.4 表的创建

  • 表通过CREATE TABLE语句进行创建而成。
  • 表和列的命名要使用有意义的文字。
  • 指定列的数据类型
  • 可以在表中设置约束

怎样使用SQLShell 进行SQL语句输入:

打开SQL Shell,然后默认输入5次空格键,再输入密码,就能够进入。

提示postgres=#代表打开成功

语法1-1 创建数据库的CREATE TABLE语句

CREATE DATABASE <数据库名称>

创建数据库后, 就要创建表:

语法1-2 创建表的CREATE TABLE语句

CREATE TABLE <表名>

(<列名1><数据类型><该列所需约束>,

<列名2><数据类型><该列所需约束>,

<列名3><数据类型><该列所需约束>,

...

<该表的约束1>,<改表的约束2>, ......);

例:

命名规则

  • 数据库、表、和列的名称。只能使用半角英文字母、数字、下划线(_)。
  • 名字必须以英文字母开头。
  • 不能创建名称相同的列

数据类型的指定

数据类型包括,数字型、字符型、日期型等。以下分类:

  • INTEGER型

    用来存储整数的列的数据类型,不能存储小数。
  • CHAR型

    用来存储字符串的列的数据类型。可以指定存储字符串的最大长度。

    例:CHAR(10)

    字符串以定长字符串的形式存储在指定为CHAR型的列中。定长字符串就是当列中存储的字符串达不到最大长度时会以半角空格进行补足。
  • VARCHAR型

    与CHAR类型一样,也是用于存储字符串列的数据类型。同样能够指定字符串最大长度。

    与CHAR区别变长字符串未达到最大长度,不会用空格进行补足。
  • DATA型

    用来指定存储日期(年月日)的类型数据类型。

约束的设置

NOT NULL 不能输入空白。

PRIMARY KEY (shoin_id)

shohin_id列设定为主键约束的。


1-5 表的删除和更新

  • 使用DROP TABLE 语句来删除表
  • 使用ALTER TABLE 语句来向表中添加列或从表中删除列。

删除表DROP

语法:

DROP TABLE <表名>;

要注意,删除的表,是无法恢复的。

表定义的更新 ALTER TABLE语句

增加列的ALTER TABLE语句

ALTER TABLE <表名> ADD COLUMN <列的定义>;

例如:

ALTER TABLE Shohin ADD COLUMN shohin_mei_kana VARCHAR(100);

删除列 ALTER TABLE语句

语法:

ALTER TABLE <表名> DROP COLUMN <列名>;

例子:

ALTER TABLE Shohin DROP COLUMN shohin_mei_kana ;

注意,从表中删除之后的列 ,就无法恢复了。

插入数据

开头的BEGIN TRANSACTION ;

和结尾的 COMMIT

然后中间的每一条记录,都是一行记录为单位。

例如:

BEGIN TRANSACTION;
INSERT INTO Shohin VALUES('0001','T虚衫','衣服',1000,500,'2009-09-20');
INSERT INTO Shohin VALUES('0002','牛仔衫','衣服',1000,500,'2009-09-22');
INSERT INTO Shohin VALUES('0003','透视装','衣服',1000,500,'2009-09-21');
COMMIT;

重命名语句

很多的数据库都提供了可以修改表明的指令。

例如

ALTER TABLE Sohin RENAME TO Shohin;

SQL入门学习0-数据库与SQL的更多相关文章

  1. SQL Server 学习系列之四(SQL 内幕)

    SQL Server 学习系列之四(SQL 内幕) SQL Server 学习系列之一(薪酬方案+基础) SQL Server 学习系列之二(日期格式问题) SQL Server 学习系列之三(SQL ...

  2. SQList3 and SQL入门学习笔记

    SQL 这是一个标准的计算机语言进行访问和操作数据库. 什么是 SQL? ·       SQL 指结构化查询语言 ·       SQL 使我们有能力訪问数据库 ·       SQL 是一种 AN ...

  3. 搜索表字段包含某字符串的SQL和监控Oracle数据库的SQL。

    1.第一个SQL 背景:需要找到SQL Server数据库中,包含某个字符串的表,输出表和包含该字符串的列. )='=' --这里填要搜索的字符串 DECLARE @sql NVARCHAR(MAX) ...

  4. SQL Serever学习13——数据库编程语言

    编程基础 注释 注释命名来对一些语句进行说明,便于日后维护或者其他用户理解,注释不会执行. 单行注释 SELECT GETDATE() --查询当前日期 多行注释 /* 注释有助于 理解操作的内容 查 ...

  5. SQL入门学习3-数据更新

    4-1 数据的插入(INSERT语句的使用方法) 使用INSERT语句可以向表中插入数据(行).原则上,INSERT语句背刺执行一行数据插入. CREATE TABLE 和INSERT 语句,都可以设 ...

  6. SQL基础学习_01_数据库和表

    SQL语句及其种类 1. SQL语句分为三类:     DDL(Data Definition Language): CREATE.DROP.ALTER;     DML(Data Manipulat ...

  7. SQL Serever学习17——数据库的分析和设计

    数据库的分析和设计 设计数据库确定一个合适的数据模型,满足3个要求: 符合用户需求,包含用户所需的所有数据 能被数据库管理系统实现,如sqlserver,oracle,db2 具有比较高质量,容易理解 ...

  8. SQL Serever学习12——数据库的备份和还原

    公司的服务器奔溃了,事先没相应的保护措施,使得公司遭到了较大损失,为了以后不再出现类似事件,在系统中引入备份机制,使得数据库被破坏后损失降到最低. 数据的导出和导入 数据转换服务 数据转换服务DTS( ...

  9. SQL SERVER学习1——数据库概念

    <SQL Server实例教程>(科学出版社) 数据库的基本概念 数据是载荷信息的物理符号,是数据库中存储的基本对象. 信息可以通过手势,眼神表达,但是表达信息的最佳方式还是数据. 数据有 ...

随机推荐

  1. 讨论UML概念和模型UML九种图。

    文件夹: UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了,UML的视图.在每一种视图中都包括一个或多种图. 本文我们重点解说UML每种图的细节问题: 1.用例图(use case d ...

  2. 使用CSS3制图

    参考资料:http://blog.csdn.net/fense_520/article/details/37892507 本文非转载.为个人原创,转载请先联系博主,谢谢~ 准备: <!DOCTY ...

  3. 边坡优化主题5——bzoj 1096 [ZJOI2007]仓库建设 解决问题的方法

    [原标题] 1096: [ZJOI2007]仓库建设 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 1998  Solved: 816 [id=10 ...

  4. poj1655 Balancing Act 找树的重心

    http://poj.org/problem? id=1655 Balancing Act Time Limit: 1000MS   Memory Limit: 65536K Total Submis ...

  5. android创建自定义对话框

    创建如下自定义对话框: JAVA代码 LayoutInflater li = LayoutInflater.from(TagActivity. this);  //NOTE final View Te ...

  6. atitit.标准时间格式 相互转换 秒数 最佳实践

    atitit.标准时间格式 相互转换 秒数 最佳实践 例如00:01:19 转换为秒数  79,,and互相转换 一个思路是使用div 60 mod...只是麻烦的... 更好的方法是使用stamp ...

  7. 前端构建工具gulp

    前端构建工具gulp使用   前端自动化流程工具,用来合并文件,压缩等. Gulp官网 http://gulpjs.com/ Gulp中文网 http://www.gulpjs.com.cn/ Gul ...

  8. 1pdf

    Document doc = new Document(new iTextSharp.text.Rectangle(564, 351));  PdfWriter writer= PdfWriter.G ...

  9. 玩转web之javaScript(五)---js和jquery一些不可不知的方法(input篇)

    很多时候我们都利用js和jquery中操作input,比如追加属性,改变属性值等等,我在这里简单的整理了一下,并在以后逐步补充. 1:删除input的某一属性. <input name=&quo ...

  10. 移动web:转盘抽奖(幸运大转盘)

    为了获取客户.回馈客户,平台一般会推出抽奖活动类的营销页.因此web页面中,有各式各样的抽奖效果. 格子式(九宫格),背景滚动式(数字/文字/图案),旋转式(转盘),游戏式(砸蛋/拼图...).... ...