Java(数据库简介、mysql安装与删除、ddl语句)

数据库

数据库的作用

存储大量数据,方便检索和访问
保持数据信息的一致、完整
共享和安全
通过组合分析,产生新的有用信息

数据库的分类

按照数据(多个数据是否存在联系)关系进行划分

①关系型数据库

用于存储存在一定关联的数据库,存储形式类似于表,存储的数据拥有统一的类型与名称

在这里插入图片描述

②非关系型数据库

存储数据以一定形式进行存储,数据与数据之间没有关联关系,类似于map

MongDB

Redis

数据存储的方式

数据库就是“数据”的“仓库”
数据库中包含表、关系以及操作对象
数据存放在表中

所有数据存储在相应的表中,所有表存储在相应的库中

在实际开发过程中,我们会将当前应用所有使用的数据存储在一个库中(每个库负责一个应用)

在库中对所有数据进行分类使用不同的表进行数据的存储,在进行使用时选择库表之后可以快速的进行数据的获取

数据库使用的概念

不同的关系型数据库其实本质上的区别,就是存储数据的方式(使用自己的存储方式为数据进行存储指定文件),并且使用自己提供的管理软件进行数据库数据的管理

数据库管理员-》操作数据库管理软件-》使用数据库管理系统-》进行数据操作

在这里插入图片描述

Mysql

Mysql安装

1、使用cmd验证mysql是否已经安装
在这里插入图片描述

2、打开安装程序

在这里插入图片描述

3、勾选协议点击next

在这里插入图片描述

4、选择自定义安装指定安装路径

在这里插入图片描述

5、选择安装数据库与管理软件

在这里插入图片描述

6、选择进行配置安装

在这里插入图片描述

7、选择安装数据库用途

在这里插入图片描述

8、选择是否生成默认库
g)]在这里插入图片描述

9、选择数据存储位置

在这里插入图片描述

10、选择数据库同时连接数上限

在这里插入图片描述

11、记录mysql使用端口号并将端口加入防火墙校验
在这里插入图片描述

验证是否安装成功并进行连接

mysql -h连接主机ip -u账号 -p密码

Mysql 的删除

(1)使用安装文件删除

1、关闭mysql服务

cmd命令输入service.msc打开服务管理,关闭mysql服务

2、正常情况下可以使用安装文件进行删除

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n4r27eSU-1605838635416)(img\image-20201110114455683.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 数据库名;

以默认编码创建指定数据库
在这里插入图片描述

查看所有数据库

show databases;

在这里插入图片描述

查看指定数据库建库语句

show create database 数据库名;
在这里插入图片描述

删除数据库

drop database 数据库名;

在这里插入图片描述

存储数据类型

在这里插入图片描述

在实际开发过程中对于数值类型使用int 、double进行存储,字符串使用varchar进行存储,日期根据实际需求进行存储一般使用datatime与timestamp

建表语句

create table 表名(

列名 类数据类型(长度) 约束1 约束2,

列名 类数据类型(长度) 约束1 约束2

)

在这里插入图片描述

查看表详情

desc 表名
在这里插入图片描述

修改表名

rename table 表名 to 新表名

在这里插入图片描述

为表新增列

alter table 表名 add(列名 数据类型(长度) 约束,列名 数据类型(长度) 约束 )
在这里插入图片描述

修改已有字段数据类型等属性

alter table 表名 modify 修改字段名 修改后的数据类型(修改后的长度) 修改后的约束, 修改字段名 修改后的数据类型(修改后的长度) 修改后的约束

在这里插入图片描述

修改已有字段名称

alter table 表名 change 修改字段名 修改后的名称 修改后的数据类型(修改后的长度) 修改后的约束
在这里插入图片描述

删除已有字段

alter table 表名 drop 删除字段名

在这里插入图片描述

删除表

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);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值