简介
-
数据库的作用:数据存储
数据库本质上就是个文件系统,而且存储的数据可以实现持久化存储
-
DBS:—>数据库系统:由数据库、数据库管理员、数据库管理系统构成
-
DBMS:—>数据库管理系统:是一种用于操纵和管理数据的软件,用于建立、使用、维护数据库。因此数据库的安全性、健壮性、可扩展性都得到了提升
-
DBA:—>数据库管理员:DBA使用DBMS来管理DB
-
DB:—>数据库:本质上是一个个的文件
当前数据库分为两大类:关系型数据库和非关系型数据
-
关系型数据库(relational database):存放数据的结构是表,首先要有数据库,再在数据库中创建表,然后在表中存放数据。关系型数据库内部,表与表之间是可以建立关联的。
- 优点:数据结构鲜明、容易管理
- 缺点:如果数据量过于庞大,那么在操作数据时,效率相对来说过于底下
- 典型软件:oracle,DB2,sqlServer,mysql…
-
非关系型数据库:(NoSql)结构简单,数据与数据之间没有关系。通常用做数据缓存(比如:redis缓存框架)
- 优点:在架构层面做到了易扩展、数据库庞大时,性能也会很高
- 典型软件:Redis、MongoDB
-
-
SQL
SQL就是结构化的查询语言(structured query language)
-
特点:
是一种具有特殊目的的编程语言,是用来完成数据库查询和设计的语言,用于对数据进行更新和查询,创建数据库、创建表等…
想要操作数据库,想要操作数据库,想要完成对数据库的任何改动,必须使用SQL,因为数据库能够识别的语言只有SQL
-
DDL(data definition language)数据定义语言 :
针对数据库或者表结构的创建、修改、删除,通俗来说就是定义数据存储结构的sql语句,关键字:
create
,alter
,drop
,show
… -
DML(data manipulation language)数据操作语言:
主要操作数据表中数据的增删改(添加,删除,修改),关键字:
insert
,delete
,update
-
DQL(data query language)数据查询语言:
主要针对数据的查询操作,关键字
select
-
DCL(data control language)数据控制语言:主要用来创建用户,设置权限,回收权限等,关键字:
grant
(授权),revoke
(回收权限)- 重要数据的操作,是会签订保密、安全协议的,这个是具有法律效应的
- 通常其他人没有删除的操作权限
- 数据库都是有备份的
-
TCL(transaction control language)数据事务语言:主要用来数据库操作的事务,关键字:
commit
,rollback
等 -
CCL(cursor control language)指针控制语言:
-
SQL语句的书写规范:
- sql语句不区分大小写,也就是对大小写不敏感。但是要注意,不区分大小写的是sql语句的关键字,但是自定义的内容严格区分大小写
- sql语句关键字与内容之间使用空格隔开,目的在确保sql语句正确的前提下,提高代码的可读性
- 每一条sql语句中
-
DDL
-
数据库操作
win+r-->cmd
mysql -uroot -p密码
show databases;
#创建数据库 create database 数据库名称; #判断数据是否存在之后再创建 create database if not exists 数据库名; #如果还要考虑数据库中的编码格式的话(编码用""引起来,例:"utf8") create database if not exists 数据库名 character set "编码格式"(gbk|utf8);
use 数据库名称;
alter database 数据库名称 character set "编码格式";
show create database 数据库名称;
drop database 数据库名称;
-
常用数据类型
-
表结构操作
create table 表名(列名1 数据类型(长度),列名2 数据类型(长度)......); #当列的数据类型为整数和日期的时候,长度是可以省略的
desc 表名;
alter table 旧表名 rename 新表名;
show create table 表名;
show tables;
alter table 表名 add 列名 数据类型(长度);
alter table 表名 add 列名 数据类型(长度) first;
alter table 表名 add 列名 数据类型(长度) after 指定的列名; </