wonderful-sql-第一章 初识数据库

1.认识数据库

1.1DBMS的分类

DBMS:管理数据库的计算机系统称为数据库管理系统(Database Management System ,DBMS)。
DBMS分为下面几种类型:

  • 层次数据库(HDB)
  • 关系数据库(RDB)
    • Oracle Datebase:甲骨文公司的RDBMS
    • SQL Server:微软公司的RDBMS
    • DB2:IBM公司的RDBMS
    • PostgreSQL:开源的RDBMS
    • MySQL:开源的RDBMS
  • 面向对象数据库(Object Oriented Database,OODB)
  • XML数据库(XML Database,XMLDB)
  • 键值存储系统(Key-Value Store,KVS),举例:MongoDB
    本次学习的主要是SQL语言的数据库管理系统,RDBMS的操作方法。

1.2RDMS的常见系统结构

客户端/服务器类型(C/S)

2.SQL认识

数据库主要是用来记录数据的,用行列来记录
在这里插入图片描述
数据库都是最主要的是增删改查。

2.2SQL的基本书写规范

  • 分号结尾
  • 关键字不区别大小写,但是插入到表中的数据区分大小写
  • win系统默认不区分表名及字段名的大小写
  • SQL 语句的单词之间需使用半角空格或换行符来进行分隔,且不能使用全角空格作为单词的分隔符,否则会发生错误,出现无法预期的结果

2.2数据库的基本语法

常用的语句

-- 数据库的创建
CREATE DATABASE lw;
-- 数据库中的表的创建
CREATE TABLE Addressbook
( regist_no INTEGER NOT NULL,
	name VARCHAR(128) NOT NULL,
	address VARCHAR(256) NOT NULL,
	tel_no CHAR(10),
	mail_address CHAR(20),
	PRIMARY KEY (regist_no) );
-- 数据表的删除
DROP TABLE Addressbook;
-- 添加一个新的字段
ALTER TABLE Addressbook;
--删除一个字段
ALTER TABLE  DROP Addressbook COLUMN address;
--删除表中特定的行
DELETE FROM Addressbook WHERE COLUMN_NAME='XXX';
--清空标的内容
TRUNCATE TABLE Addressbook_NAME;
--数据的更新
UPDATE addressbook
   SET address ='北京'
 WHERE regist_no = 1 ;  
--多条数据更新
UPDATE addressbook
   SET address ='北京'
   		tel_no='138'
 WHERE regist_no = 1 ;
-- 向数据表中添加数据
-- 通常的INSERT
INSERT INTO productins VALUES ('0002', '打孔器', '办公用品', 500, 320, '2009-09-11');
INSERT INTO productins VALUES ('0003', '运动T恤', '衣服', 4000, 2800, NULL);
INSERT INTO productins VALUES ('0004', '菜刀', '厨房用具', 3000, 2800, '2009-09-20');
-- 多行INSERT ( DB2、SQL、SQL Server、 PostgreSQL 和 MySQL多行插入)
INSERT INTO productins VALUES ('0002', '打孔器', '办公用品', 500, 320, '2009-09-11'),
                              ('0003', '运动T恤', '衣服', 4000, 2800, NULL),
                              ('0004', '菜刀', '厨房用具', 3000, 2800, '2009-09-20');  
-- Oracle中的多行INSERT
INSERT ALL INTO productins VALUES ('0002', '打孔器', '办公用品', 500, 320, '2009-09-11')
           INTO productins VALUES ('0003', '运动T恤', '衣服', 4000, 2800, NULL)
           INTO productins VALUES ('0004', '菜刀', '厨房用具', 3000, 2800, '2009-09-20')
SELECT * FROM DUAL;  
-- DUAL是Oracle特有(安装时的必选项)的一种临时表A。因此“SELECT *FROM DUAL” 部分也只是临时性的,并没有实际意义。  

2.3数据库中的表的名字的字段的命名规则

和编程语言的字段命名规则基本一致

  • 只能使用半角英文字母、数字、下划线作为数据库、表和列的名称
  • 名称必须以半角英文字母开头

2.4数据表的基本的数据类型

四种基本数据类型

  • INTEGER:整型
  • CHAR:恒定长字符串
  • VARCHAR:可变长字符串
  • DATE:日期
    约束的设置
  • NOT NULL
  • PRIMAAPY KEY主键约束,代表该列的唯一值,可以通过该列取出特定的行的数据。

练习题

1.1题目

在这里插入图片描述
作答

CREATE TABLE Addressbook
( regist_no INTEGER NOT NULL,
	name VARCHAR(128) NOT NULL,
	address VARCHAR(256) NOT NULL,
	tel_no CHAR(10),
	mail_address CHAR(20),
	PRIMARY KEY (regist_no) );

结果
在这里插入图片描述

1.2修改

ALTER TABLE Addressbook ADD COLUMN postal_code CHAR(8) NOT NULL;

结果
在这里插入图片描述

1.3填空题

在这里插入图片描述

DROP TABLE Addressbook;

1.4判断题

是否可以编写SQL语句来恢复删除掉的Addressbook表?
不能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值