前言:欢迎收看...
一.有关数据库的概念
数据(Data):数据是数据库中存储的基本对象,它是描述事物的符号记录。
数据库(Database):数据库是按照数据结构来组织、存储和管理数据的仓库。
二.主要接触到的数据库
目前主流的数据库:Oracle Database,简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。
MySQL是一种关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品;关系型数据库的特点是将数据保存在不同的表中,在将这些表放入不同的数据库中,而不是将所有数据统一放在一个大仓库里,这样的设计增加了MySQL的读取速度,灵活性和可管理型也得到了很大提高,访问以及管理MySQL数据库的最常用标准化语言为SQL结构化查询语句。
三.数据库的连接工具
Oracle数据库可以用PLSQL,MySQL数据库可以用sqlyog小海豚;还有Navicat、DBeaver等众多连接工具,连接数据库的工具有很多种,大家可以根据个人需求来进行选择。
四.SQL的简介
Structure Query Language(结构化查询语言)简称SQL,它被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准,后被国际化标准组织(ISO)采纳为关系数据库语言的国际标准。数据库管理系统可以通过SQL管理数据库;定义和操作数据,维护数据的完整性和安全性。
SQL(Structure Query Language)语言是数据库的核心语言,可以分为四种:
1. DDL (Data Definition Language:数据库定义语言)
2. DML (Data Manipulation Language:数据库操作语言)
3. TCL (Transaction Control Language:事务控制语言)
4. DQL (Data Query Language:数据库查询语言)
SQL中两个--表示注释的意思
(1)DDL:隐形提交,输入完直接点击F8(execute)来执行,不用commit
关于列的约束:
unique 唯一约束:列的值不能重复,可以为空null
not null 非空约束:列的值不能为空
check 检查约束:检查列的值是否符合条件
default 默认值:当没有指定值时,则取默认值
primary key 主键:类似身份证号,表中数据唯一标识,是唯一且非空的
foreign key 外键:外键的值参照自主键,保持数据参照的完整性,为两张表之间建立关联,外键的写法与其他约束不一样,外键还要在foreign key后面加上references 表名
例如我们现在创建一个学生表,学生表中包含了学号、名字、班级、性别、住址、出生日期和年龄,住址默认值为召唤师峡谷,且要求学生的年龄要大于等于6岁的。
创建完之后,我们通过查询语句可以查看是否创建成功:
如上图一样,我们可以看到成功创建了一个表格,因为我们没有往表格中插入值,所以可以看到是没有任何的值显示的,而且通过这样的方式只能看到表有哪些列名,我们还可以通过查看表结构来具体查看列的类型,约束有哪些。打开一个命令窗口(Command Window),输入DESC 表名;然后按回车键查看;如下图,我们可以看到刚刚创建的学生表各列的数据类型和约束。
我们还可以修改表的结构:
alter table 表名 add(列名 数据类型 约束) #新增一列
alter table 表名 modify(列名 数据类型 约束) #修改某一列
alter table 表名 drop(列名) #删除某一列
有创建表格,当然也有删除表格(对于刚接触数据库的小伙伴来讲,可能对于新增删除这些概念可能有点混淆,分不清drop、add、modify等等这些语句具体该什么时候用到,我应该用哪个;其实我们只需要按照SQL的四种语言类型来去区分就不会混淆,哪些语句是属于DDL类型的,哪些又是属于DML的),删除表格有两种方法:
drop table 表名 #无过滤条件,直接删除整个表所有,包括表数据和表结构
truncate table 表名 #无过滤条件,只删除表格中的数据,不删除表格的结构,清空表格的作用
(2)DML:增删改 结束之后要接事务的控制语言
(3)TCL 事务控制语言
Commit 提交事务,语句执行产生的结果生效,永久保存进数据库;
Rollback 回滚事务,语句执行产生的结果不生效,不保存进数据库;
Savepoint 使当前的事务可以回退到指定的保存点,便于取消部分改变。
(4)DQL 我们用到最多的查询
补充:在MySQL数据库中如果使用分页查询,则用limit,而不是oracle中的rownum
例如想要获取第五到第九行的数据,则是:SELECT * FROM 表名 LIMIT 4,5
因为下标值是从0开始的,第五对应的下标值为4,第五到第九行一共有5行数据
本人也是第一次写博客来记录自已工作学习所掌握的内容,以上个人拙见,如有不妥,欢迎指导,共同学习进步;希望本文能对您有所帮助。