数据库
数据库的作用
存储大量数据,方便检索和访问
保持数据信息的一致、完整
共享和安全
通过组合分析,产生新的有用信息
数据库的分类
按照数据(多个数据是否存在联系)关系进行划分
①关系型数据库
用于存储存在一定关联的数据库,存储形式类似于表,存储的数据拥有统一的类型与名称
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z2dpgq3q-1607339034499)(img\image-20201110100413609.png)]](https://i-blog.csdnimg.cn/blog_migrate/89af2cc0b377d5a48e072623d48e82c6.png)
②非关系型数据库
存储数据以一定形式进行存储,数据与数据之间没有关联关系,类似于map
MongDB
Redis
数据存储的方式
数据库就是“数据”的“仓库”
数据库中包含表、关系以及操作对象
数据存放在表中
所有数据存储在相应的表中,所有表存储在相应的库中
在实际开发过程中,我们会将当前应用所有使用的数据存储在一个库中(每个库负责一个应用)
在库中对所有数据进行分类使用不同的表进行数据的存储,在进行使用时选择库表之后可以快速的进行数据的获取
数据库使用的概念
不同的关系型数据库其实本质上的区别,就是存储数据的方式(使用自己的存储方式为数据进行存储指定文件),并且使用自己提供的管理软件进行数据库数据的管理
数据库管理员-》操作数据库管理软件-》使用数据库管理系统-》进行数据操作
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nrKKmX8Q-1607339034501)(img\image-20201110103939897.png)]](https://i-blog.csdnimg.cn/blog_migrate/a1e18553eea9cd5a9f8b63431d9356a0.png)
Mysql
Mysql安装
1、使用cmd验证mysql是否已经安装
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eBrSHp2x-1607339034503)(img\image-20201110104337017.png)]](https://i-blog.csdnimg.cn/blog_migrate/cf0269fef96e6eff4cbd9116cc792478.png)
2、打开安装程序
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XoF17hU4-1607339034506)(img\image-20201110104432160.png)]](https://i-blog.csdnimg.cn/blog_migrate/6e671102c79346769a0c5b910d8829e4.png)
3、勾选协议点击next
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l9Uio4DC-1607339034507)(img\image-20201110104613860.png)]](https://i-blog.csdnimg.cn/blog_migrate/8138ae877ac29595ca7d419cbfd9a297.png)
4、选择自定义安装指定安装路径
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ri5HVt3A-1607339034509)(img\image-20201110104823509.png)]](https://i-blog.csdnimg.cn/blog_migrate/89757e0a311fd21313c091fc6c06cf73.png)
5、选择安装数据库与管理软件
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8E1a7Bp2-1607339034510)(img\image-20201110104917517.png)]](https://i-blog.csdnimg.cn/blog_migrate/bab52aaf2feb37b4102b7bbb26200ada.png)
6、选择进行配置安装
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PnKzYAHM-1607339034511)(img\image-20201110105117764.png)]](https://i-blog.csdnimg.cn/blog_migrate/91edccc5940f06941c02e23177f3c120.png)
7、选择安装数据库用途
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dA1b6x9I-1607339034512)(img\image-20201110105211899.png)]](https://i-blog.csdnimg.cn/blog_migrate/79ae05a7c20ff6fafa804ee37b1daa8d.png)
8、选择是否生成默认库
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Vhzcs2Bk-1607339034516)(img\image-20201110105403081.png)]](https://i-blog.csdnimg.cn/blog_migrate/b574302839912ba0a1f52fa3fc9aa36d.png)
9、选择数据存储位置
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pp9O9RbN-1607339034517)(img\image-20201110105625186.png)]](https://i-blog.csdnimg.cn/blog_migrate/9592671f378bc8a1335a3d8ff447abbd.png)
10、选择数据库同时连接数上限
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-chAwLoiv-1607339034518)(img\image-20201110105715376.png)]](https://i-blog.csdnimg.cn/blog_migrate/4fd4f9e7598ed9cd98e5d7d7881376fd.png)
11、记录mysql使用端口号并将端口加入防火墙校验
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RcVoXxtg-1607339034518)(img\image-20201110105903833.png)]](https://i-blog.csdnimg.cn/blog_migrate/19988693f25cb43697b6d67fe56b1007.png)
验证是否安装成功并进行连接
mysql -h连接主机ip -u账号 -p密码
Mysql 的删除
(1)使用安装文件删除
1、关闭mysql服务
cmd命令输入service.msc打开服务管理,关闭mysql服务
2、正常情况下可以使用安装文件进行删除
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K3HcA6ws-1607339034519)(img\image-20201110114455683.png)]](https://i-blog.csdnimg.cn/blog_migrate/fa7d08dc40d918140d7a90634605f483.png)
如果没有提前关闭服务那么需要手动停止服务使用sc delete 服务名进行手动删除
3、删除mysql环境变量中path设置的环境变量
(2)正常删除
1、关闭mysql服务
cmd命令输入service.msc打开服务管理,停止mysql服务
2、打开控制面板找到mysql卸载
如果卸载前忘记关闭服务,那么卸载后关闭服务之后手动卸载
3、删除mysql文件
4、如果想彻底删除mysql,打开注册表搜索mysql删除所有与mysql相关的注册表信息(建议百度指定删除)
sql简单指令
mysql -h服务器地址 -u账号 -p密码 数据库连接指令
show databases; 展示当前所有数据库
use 数据库名; 连接使用指定数据库
show tables; 展示当前连接数据库中所有的表
SQL
Structured Query Language:结构化查询语言
是各大数据库厂商为了进行数据库数据的管理而达成的统一
不区分大小写,所有语句以;结束
sql语句分类
DDL(数据定义语言)
用来建立数据库、数据库对象和定义表的列
DML(数据操作语言)
插入、删除和修改数据库中的数据
DQL(数据查询语言)
用来查询数据库中的数据
DCL(数据控制语言)
用来控制存取许可、存取权限等
DDL
数据库定义语言,用于建库建表以及进行库表操作
基本语法
创建数据库
create database 数据库名;
以默认编码创建指定数据库
![**[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YRaU9Cp0-1607339034521)(img\image-20201110143011564.png)]**](https://i-blog.csdnimg.cn/blog_migrate/5f2cd1ded401a775890f75cc0026f461.png)
查看所有数据库
show databases;
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DaQhvRFA-1607339034522)(img\image-20201110143036664.png)]](https://i-blog.csdnimg.cn/blog_migrate/b7ef69e765c54eb98a4391a599e62c03.png)
查看指定数据库建库语句
show create database 数据库名;
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GMmyGGNp-1607339034524)(img\image-20201110143100581.png)]](https://i-blog.csdnimg.cn/blog_migrate/7b6448395b4d6a8c7136d8a0ac1a7997.png)
删除数据库
drop database 数据库名;
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mOvftszV-1607339034524)(img\image-20201110143117286.png)]](https://i-blog.csdnimg.cn/blog_migrate/11abfcc8c6fc879bbee57a35590cfae0.png)
存储数据类型
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kEszYYOQ-1607339034525)(img\image-20201110144405492.png)]](https://i-blog.csdnimg.cn/blog_migrate/229e0fb4598d8e39d438818f82e626c5.png)
在实际开发过程中对于数值类型使用int 、double进行存储,字符串使用varchar进行存储,日期根据实际需求进行存储一般使用datatime与timestamp
建表语句
create table 表名(
列名 类数据类型(长度) 约束1 约束2,
列名 类数据类型(长度) 约束1 约束2
)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t4bzQZnw-1607339034527)(img\image-20201110150715363.png)]](https://i-blog.csdnimg.cn/blog_migrate/1ffb3d3611d1687424e7d1e52660159e.png)
查看表详情
desc 表名
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fO6BWJnJ-1607339034528)(F:\teacher\笔记\img\image-20201110150752783.png)]](https://i-blog.csdnimg.cn/blog_migrate/7c374b6aa526c657a7f1fb0b94b95b2f.png)
修改表名
rename table 表名 to 新表名
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nm0W8cBM-1607339034529)(img\image-20201110151211182.png)]](https://i-blog.csdnimg.cn/blog_migrate/63be5bbad400fdc25d2f4228001ed70d.png)
为表新增列
alter table 表名 add(列名 数据类型(长度) 约束,列名 数据类型(长度) 约束 )
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jsNWSC7m-1607339034531)(F:\teacher\笔记\img\image-20201110151647855.png)]](https://i-blog.csdnimg.cn/blog_migrate/0b41a44cc2eca163b55081d48131087a.png)
修改已有字段数据类型等属性
alter table 表名 modify 修改字段名 修改后的数据类型(修改后的长度) 修改后的约束, 修改字段名 修改后的数据类型(修改后的长度) 修改后的约束
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FxOUTCiQ-1607339034532)(img\image-20201110152505701.png)]](https://i-blog.csdnimg.cn/blog_migrate/3af4040b1d71ca286bb84d83326de196.png)
修改已有字段名称
alter table 表名 change 修改字段名 修改后的名称 修改后的数据类型(修改后的长度) 修改后的约束
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b32S67tA-1607339034533)(F:\teacher\笔记\img\image-20201110152659098.png)]](https://i-blog.csdnimg.cn/blog_migrate/1e41fbc9512197b72a0ecc704b59c523.png)
删除已有字段
alter table 表名 drop 删除字段名
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5Vii9L9L-1607339034534)(F:\teacher\笔记\img\image-20201110152928096.png)]](https://i-blog.csdnimg.cn/blog_migrate/0ddebda12a6ac969c1a53b579995a1cd.png)
删除表
drop table 表名
**主键约束primary key **
primary key 设置字段非空不允许重复
删除主键约束
alter table 表名 drop primary key;
添加主键约束
alter table 表名 add primary key(添加约束列);
修改主键约束
alter table 表名 modify id int primary key;
最少性
尽量选择单个键作为主键
稳定性
尽量选择数值更新少的列作为主键
唯一约束unique
数据添加不允许重复
添加唯一约束
alter table 表名 add unique (添加约束列);
修改唯一约束
alter table 表名 modify 修改约束列 varchar(25) unique;
删除约束
alter table 表名 drop index 修改约束列;
非空约束 not null
not null 指定字段不允许进行null存储
增加非空约束
alter table 表名modify 约束字段 varchar(2) not null;
取消非空约束
alter table 表名 modify 约束字段varchar(2) null;
取消非空约束,增加默认值
alter table 表名 modify 约束字段varchar(2) ;
默认值约束default
当添加数据数没有添加数据使用默认值进行添加
alter table 表名 modify 约束字段varchar(2) default 默认值;
自增约束auto_increment
设置自增ID
CREATE TABLE empautoinc(
ID INT PRIMARY KEY AUTO_INCREMENT
) AUTO_INCREMENT = 100 ; --(设置自增ID从100开始)
修改mysql表的字段为自增长
alter table newcar change id id int(11) not null AUTO_INCREMENT;
获取自动增长
select @@IDENTITY;
删除自增
Alter table tb change id id int(10);//删除自增长
外键约束 foreign key
将副表字段与主表关联,可以设置当主表字段进行修改时的操作,用于限制副表数据的添加只能依赖于主表已有数据,主表进行数据删除时需要保证副表没有使用主表的数据,一般由于限制,在开发中一般使用伪外键关联(不设置外键关联,单进行数据添加时使用主表数据)
– 主表
create table temp(
id int primary key,
name varchar(20)
);
– 副表
create table temp2(
id int,
name varchar(20),
classes_id int,
foreign key(id) references temp(id)
);
删除外键约束
alter table student drop foreign key student_id;
增加外键约束
alter table student add foreign key( classes_number) references classes(number);
2366

被折叠的 条评论
为什么被折叠?



