文章目录
- 一、数据库概述
- 1、简介
- 2、数据库类型和常用数据库
- 1.关系型数据库
- 2.非关系型数据库
- 3、mysql数据库日志
- 1、作用:
- 2、 mysql与 oracle 日志有所区别
- 3、 Mysql 存储引擎
- 二、数据库基础操作
- 1、SQL 语句
- 2、实际操作
- 1、DDL:数据定义语言,用于创建数据库对象,如库、表、索引等
- 2、DML管理表中的数据记录 ---- 数据操纵语言,用于对表中的数据进行管理,用来插入、删除和修改数据库中的数据
- 3、DQL查询数据记录
- 4、DCL修改表名和表结构
一、数据库概述
1、简介
数据:
描述事物的符号记录称为数据(Data)。数字、文字、图形、图像、声音、档案记录等 都是数据。
表:
数据记录:行/
数据字段(属性): 列
以行+列的形式就组成了表(数据存储在表中)
数据库 :
是表的集合。它是以一定的组织方式存储的相互有关的数据集合
数据库管理系统:
是实现对数据库资源有效组织、管理和存取的系统软件。它在操作系统的支持下,支持用户对数据库的各项操作
数据库系统:
是一个人机系统,一般由硬件、操作系统、数据库、DBMS、应用软件和数据库用户(包括数据库管理员)组成。用户可以通过 DBMS 操作数据库,也可以通过应用程序操作数据库。
DBMS的工作模式如下:
1>接受应用程序的数据请求和处理请求
2>将用户的数据请求(高级指令)转换为复杂机器代码(底层指令)
3>实现对数据库的操作
4>从数据库的操作中接受查询结果
5>对查询结果进行处理(格式转换)
6>将处理结果返回给用户
2、数据库类型和常用数据库
1.关系型数据库
关系数据库系统是基于关系模型的数据库系统
关系模型的数据结构使用简单易懂的二维数据表
每一行称为一条记录,用来描述一个对象的信息
每一列称为一个字段,用来描述对象的一个属性
关系模型可用简单的“实体-关系”(E-R)图来表示
E-R图中包含了实体(数据对象)、关系和属性三个要素
常用数据库软件:MySQL、MariaDB、、Oracle、SQL-Server、DB2、PostgreSQL。
2.非关系型数据库
非关系数据库也被称作NoSQL (Not Only SQL)
存储数据不以关系模型为依据,不需要固定的表格式
非关系型数据库的优点:
数据库可高并发读写
对海量数据高效率存储与访问
数据库具有高扩展性与高可用性
常用数据库:
Memcached、Redis、MongoDB、HBase。
3、mysql数据库日志
1、作用:
数据库日志文件用于备份,恢复,故障定位、分析是最核心的部分
2、 mysql与 oracle 日志有所区别
mysql 写一条数据,同步到日志中一条
PS:insert into qqbb (id,name,score) values(1,‘zhangsan’,20);
oracle :重做日志组
一个组中至少3个日志成员,轮流存储日志
还会有另一个组与之同步/备份
3、 Mysql 存储引擎
myisam和innodb
myisam:快速读取,不支持事务(frm,myd,myi)
innodb:更注重写,支持事务(ibd.frm)
二、数据库基础操作
1、SQL 语句
SQL语句用于维护管理数据库,包括数据查询、数据更新、访问控制、对象管理等功能。
SQL语言分类:
DDL:数据定义语言,用于创建数据库对象,如库、表、索引等
DML:数据操纵语言,用于对表中的数据进行管理,用来插入、删除和修改数据库中的数据
DQL:数据查询语言,用于从数据表中查找符合条件的数据记录
DCL:数据控制语言,用于设置或者更改数据库用户或角色权限
2、实际操作
1、DDL:数据定义语言,用于创建数据库对象,如库、表、索引等
创建新的数据库
CREATE DATABASE 数据库名;
SHOW DATABASES;#查看数据库
使用(进入)数据库
USE 数据库名;
删除指定的数据库
DROP DATABASE 数据库名;
SHOW DATABASES;#查看数据库
查看数据库中的表
SHOW TABLES; #进入数据库中,查看所有的表
创建新的表
CREATE TABLE 表名 (字段1 数据类型,字段2 数据类型[,...][,PRIMARY KEY (主键名)]);
#主键一般选择能代表唯一性的字段不允许取空值(NULL),一个表只能有一个主键。
#在创建时,数据类型后面加上约束条件(用空格隔开)实现约束效果
常用约束条件
not null:非空约束(值不能为空)
primary key:主键约束(设为主键,包含了not null的效果)
unique key:唯一键约束(值在字段中唯一)
default 指定值:默认值约束(将默认值设为指定值,字符串要用’ '括起来)
auto_increment:自增约束(起始为1,随记录条目数增加自增1)
foreign key:外键约束(将字字段设为外键,与子表中的字段关联)
zerofill:位数不满足用0填充
CREATE DATABASE IKUN;
USE IKUN;
CREATE TABLE HEIZI (id int NOT NULL,name char(10) NOT NULL,score decimal(5,2),passwd char(48) DEFAULT'', PRIMARY KEY (id));
DESC IKUN;#查看数据库表的结构
删除指定的数据表
USE 数据库名;
DROP TABLE 表名;
DROP TABLE [数据库名.] 表名;
#如不用USE进入库中,则需加上数据库名
2、DML管理表中的数据记录 ---- 数据操纵语言,用于对表中的数据进行管理,用来插入、删除和修改数据库中的数据
添加记录
INSERT INTO 表名 (字段1,字段2,...) VALUES (数字,'字符串');
如果没有非空限制,未指定字段的部分默认为NULL。
全字段填入数据可以不指定字段,即INSERT INTO 表名 VALUES (数字,'字符串');
SELECT * FROM 表名; 查看表中所有记录
3、DQL查询数据记录
SELECT * FROM `表名` limit 数字;#查看表中指定条目数记录
SELECT * FROM `表名` limit 数字1,数字2; 查看表中指定数字1条之后的数字2条记录
SELECT 字段x,字段y,... FROM `表名`; 查询指定字段记录
SELECT 字段x,字段y,... FROM `表名`\G;#将查询到的记录纵向显示(适用于字段较多)
SELECT * FROM `表名` WHERE 条件1 [AND 条件2] [OR 条件3];#根据条件查询记录
DELETE FROM `表名`;#删除表中所有记录
DELETE FROM `表名` WHERE 条件1 [AND 条件2] [OR 条件3]; #删除表中指定条件记录(一般以主键为条件)
UPDATE `表名` SET 字段=值 WHERE 条件1 [AND 条件2] [OR 条件3];#修改指定条件记录
4、DCL修改表名和表结构
修改数据库表结构
ALTER TABLE 旧表名 RENAME 新表名; #修改表名
SHOW TABLES;
ALTER TABLE 表名 ADD 字段名 数据类型; #添加字段
DESC IKUN;#查看数据库表的结构
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 数据类型; #修改字段名
ALTER TABLE 表名 DROP 字段名;#删除字段