SQL入门学习0-数据库与SQL
1.1 DBMS
DatabaseManagermentSystem
数据库管理系统
DBMS种类
- 层次型数据库(HDB)
最古老的数据库之一,把数据通过层次结构的方式表现。 - 关系型数据库(RDB)
和EXCEL工作表一样,同样采用行列为二维表结构来管理数据。 - 面向对象数据库
- XML数据库
- 键值存储系统
代表性的5种DBMS:
- Oracle Database 甲骨文公司的RDBMS
- SQL Server 微软公司的
- DB2 IBM公司的
- PostgreSQL 开源的
- MySQL 开源的
数据库代表性特点
- 多人共享数据
- 提供进行大量数据的操作
- 应对突发事故
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的更多相关文章
- SQL Server 学习系列之四(SQL 内幕)
SQL Server 学习系列之四(SQL 内幕) SQL Server 学习系列之一(薪酬方案+基础) SQL Server 学习系列之二(日期格式问题) SQL Server 学习系列之三(SQL ...
- SQList3 and SQL入门学习笔记
SQL 这是一个标准的计算机语言进行访问和操作数据库. 什么是 SQL? · SQL 指结构化查询语言 · SQL 使我们有能力訪问数据库 · SQL 是一种 AN ...
- 搜索表字段包含某字符串的SQL和监控Oracle数据库的SQL。
1.第一个SQL 背景:需要找到SQL Server数据库中,包含某个字符串的表,输出表和包含该字符串的列. )='=' --这里填要搜索的字符串 DECLARE @sql NVARCHAR(MAX) ...
- SQL Serever学习13——数据库编程语言
编程基础 注释 注释命名来对一些语句进行说明,便于日后维护或者其他用户理解,注释不会执行. 单行注释 SELECT GETDATE() --查询当前日期 多行注释 /* 注释有助于 理解操作的内容 查 ...
- SQL入门学习3-数据更新
4-1 数据的插入(INSERT语句的使用方法) 使用INSERT语句可以向表中插入数据(行).原则上,INSERT语句背刺执行一行数据插入. CREATE TABLE 和INSERT 语句,都可以设 ...
- SQL基础学习_01_数据库和表
SQL语句及其种类 1. SQL语句分为三类: DDL(Data Definition Language): CREATE.DROP.ALTER; DML(Data Manipulat ...
- SQL Serever学习17——数据库的分析和设计
数据库的分析和设计 设计数据库确定一个合适的数据模型,满足3个要求: 符合用户需求,包含用户所需的所有数据 能被数据库管理系统实现,如sqlserver,oracle,db2 具有比较高质量,容易理解 ...
- SQL Serever学习12——数据库的备份和还原
公司的服务器奔溃了,事先没相应的保护措施,使得公司遭到了较大损失,为了以后不再出现类似事件,在系统中引入备份机制,使得数据库被破坏后损失降到最低. 数据的导出和导入 数据转换服务 数据转换服务DTS( ...
- SQL SERVER学习1——数据库概念
<SQL Server实例教程>(科学出版社) 数据库的基本概念 数据是载荷信息的物理符号,是数据库中存储的基本对象. 信息可以通过手势,眼神表达,但是表达信息的最佳方式还是数据. 数据有 ...
随机推荐
- 采用keepalived施工可用性MySQL-HA
描述了使用keepalived施工可用性MySQL-HA,两个保证MySQL数据一致性,然后,keepalived虚拟IP,经keepalived内置的在线监测功能来实现MySQL. AD: 关于My ...
- graph driver-device mapper-01driver初始化
// thin device数据结构 type DevInfo struct { Hash string `json:"-"` DeviceId int `json:"d ...
- WPF Media 简单的播放器
<Window x:Class="PlayTest.MediaControl" xmlns="http://schemas.microsoft.com/winfx/ ...
- Google 开源项目的风格指南
谷歌C++代码风格指南.农业所需的代码.更难得的是不FQ,决定性的最爱!! . http://zh-google-styleguide.readthedocs.org/en/latest/google ...
- 【Android接口实现】ActionBar利用整理的一些细节
转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 关于ActionBar的使用,非常多大神早就已经写了非常好的文章进行了介绍,所以ActionBar的基本使用 ...
- MultiROM for the XIAOMI MI2S/2C/2! (Kexec HardBoot Enabled with Kexec HardBoot Patch!)
Introduction This is a port of Tassadar's MultiROM, a multi-boot mod for XIAOMI MI2/2S/2C. The main ...
- 如何使用 yum 安装/更新/移除 软件
如何使用 yum 安装/更新/移除 软件 一. 建立仓库(repository)和源 a) 拷贝所以相关rpm包到某个目录 b) 执行createrepo /目录/目录/目录/目录 注意:b)中 ...
- poj 2253 Frogger (最长路中的最短路)
链接:poj 2253 题意:给出青蛙A,B和若干石头的坐标,现青蛙A想到青蛙B那,A可通过随意石头到达B, 问从A到B多条路径中的最长边中的最短距离 分析:这题是最短路的变形,曾经求的是路径总长的最 ...
- 使用CSS如何悬停背景颜色变色 onmouseover、onmouseout
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Quartz CronTrigger应用
CronTrigger配置格式: 格式: [第二] [支] [小时] [日本] [月] [周] [年] 序号 说明 是否必填 同意填写的值 同意的通配符 1 秒 是 0-59 , ...