在实际项目开发中,数据库一共分为两大类:①关系型数据库 ②非关系型数据
非关系型数据库 |
---|
Redis、MongoDB |
关系型数据库 | 数据库名称 |
---|---|
小型数据库 | 微软Access |
中型数据库 | DB2、MySQL、SQL Server |
大型数据库 | Oracle |
通过一种“关系”去管理实体信息,实体信息之间的联系。
关系:实际上就是一张表,有列,还有行。可以进行关联
MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL 是一种关联数据库管理系统。
这里列举了6点,有些是我通过查取资料所获知
数值类型 | Java | MySQL |
---|---|---|
整型 | byte | tinyint |
short | smallint | |
int | int | |
long | bigint | |
浮点型 | float | float |
double | double | |
字符串类型 | String | 定长char() ;可变长varchar() |
时间日期 | date | date/time/datetime |
图片详解(这里使用的是可视化工具对数据库进行一个操作,可视化工资具体操作步骤在后面有操作步骤)
代码块(仅供参考)
--创建用户 'tiedan'@'%' ---->用户名 'tiedan123'---->密码
GRANT ALL PRIVILEGES ON *.* TO 'tiedan'@'%' IDENTIFIED BY 'tiedan123' WITH GRANT OPTION
--创建一个zz账号,这个账号只能看到tiedan数据库,并且这个数据库中的表操作只有查询跟修改
GRANT SELECT,UPDATE
ON tiedan.*
TO 'ZZ'@'localhost'
IDENTIFIED BY 'ZZ123'
四大引擎的特点有些事翻阅资料,参考所获知(仅供参考)
功能 | MYISAM | Memory | InnoDB | Archive |
---|---|---|---|---|
存储限制 | 256TB | RAM | 64TB | None |
支持事务 | NO | NO | Yes | No |
支持全文索引 | Yes | No | No | No |
支持数索引 | Yes | Yes | Yes | No |
支持哈希索引 | No | Yes | No | No |
支持数据缓存 | No | N/A | Yes | No |
支持外键 | No | No | Yes | No |
概念:
MyISAM 基于 ISAM 的存储引擎,并对其进行扩展。它是在Web、数据存储和其他应用环境下最常使用的存储引擎之一。MyISAM 拥有较高的插入、查询速度,但不支持事务。
特点:
概念:
事务型数据库的首选引擎,支持ACID事务,支持行级锁定。InnoDB是为处理巨大数据量时的最大性能设计。InnoDB存储引擎完全与MySQL服务器整合,InnoDB存储引擎为在主内存中缓存数据和索引而维持它自己的缓冲池。InnoDB存储它的表&索引在一个表空间中,表空间可以包含数个文件(或原始磁盘分区)。
特点:
概念:
内存表把表结构存放到磁盘上,而把数据放在内存中
特点:
概念:
对表数据进行压缩,节省空间
特点:
//库的创建
1.语法
create database [if not exists] 库名
例如创建一个名字为tiedan的库:
create database IF NOT EXISTS tiedan
2.库的修改(一般用不上)
RENAME DATABASE tiedan TO 新库名
更改库的字符集(一般用不上)
ALTER DATABASE tiedan CHARACTERM SET gbk
3.库的删除
DROP DATABASE IF EXISTS tiedan
1.表的创建
语法:
create table 表名(
列名 列的类型【(长度) 约束】,
列名 列的类型【(长度) 约束】,
列名 列的类型【(长度) 约束】
)
例如创建一张名为tiedan的表:
create table tiedan(
id INT, --编号
bname VARCHAR(20), --名称
price DOUBLE, --价格
publishDate DATETIME --日期
)
2.表的修改
语法:
alter table 表名 add|drop|modify|change column 列名 【列类型 约束】
例如:
修改列名
ALTER TABLE tiedan CHANGE COLUMN publishDate pubDate DATETIME
修改列的类型或者约束
ALTER TABLE tiedan MODIFY COLUMN pubdate TIMESTAMP
添加新列
ALTER TABLE author ADD COLUMN annual DOUBLE
删除列
ALTER TABLE tiedan DROP COLUMN annual
修改表名
ALTER TABLE author RENAME TO tiedan_author
表的删除
DROP TABLE IF EXISTS tiedan_author
SHOW TABLES
通用写法
DROP TATABASE IF EXISTS 旧库名
CREATE DATABASE 新库名
DROP TABLE IF EXISTS 旧表名
CREATE TABLE 表名()
表的复制
INSERT INTO author VALUES
(1,'ASDA','d')
(2,'ASDA','d')
(3,'ASDA','d')
(4,'ASDA','d')
复制表结构+数据
CREATE TABLE COPY2
只复制表的部分数据
CREATE TABLE COPY3
SELECT ID,AU_NAME
FROM AUTHOR
WHERE NATION='asda'
名称 | 解释 |
---|---|
NOT NULL | 非空,用于保证该字段的值不能为空 |
DEFAULT | 默认,用于保证该字段有默认值 比如性别 |
PRIMARY KEY | 主键,用于保证该字段的值具有唯一性,并且非空,比如学号,员工编号 |
UNIQUE | 唯一,用于保证该字段的值具有唯一性,可以为空比如座位号 |
CHECK | 检查约束 (MySQL中不支持) 比如年龄或性别 |
FOREIGN KEY | 外键,用于限制两个表的关系,用于保证该字段的值必须来自于主表的关联列的值 |
CREATE TABLE TIEDAN(
ID INT PRIMARY KEY,//主键
NAME VARCHAR(20) NOT NULL UNIQUE,//非空约束
SEX CHAR(1) CHECK(SEX='男' OR SEX='女'),//检查约束
SEAT INT UNIQUE,//唯一约束
AGE INT DEFAULT 18,//默认约束
MAJ INT REFERENCES MAJO(ID) //外键
)
概念:
可以不用手动插入的值,系统提供默认的序列值
特点:
安装版本与解压版本我上传百度云盘,欢迎大家下载使用
下载链接
点击跳转下载
提取码是:6ohf
第一步打开安装
大家按如图所示一步一步操作
这里安装后会自动跳出另一个安装窗口
安装版本的到这一步,通过cmd.exe文件进行查询,就是安装成功了
ini文件详解(这里仅供翻译,使用记事本文件现将文件的里面的复制进去,然后再修改后缀)
这里所写的仅供参考
[mysqld]
//设置3306端口
port=3306
//设置mysql的安装目录
basedir=F:\\mysql-8.0.15-winx64 # 切记此处一定要用双斜杠\\,单斜杠我这里会出错,不过看别人的教程,有的是单斜杠。自己尝试吧
//设置mysql数据库的数据的存放目录
datadir=F:\\mysql-8.0.15-winx64\\Data # 此处同上
//允许最大连接数
max_connections=200
//允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
//服务端使用的字符集默认为UTF8
character-set-server=utf8
//创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
//默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
//设置mysql客户端默认字符集
default-character-set=utf8
[client]
//设置mysql客户端连接服务端时默认使用的端口
port=3306
为了方便大家下载操作,我将这个可视化工具也提交云盘,欢迎大家进行下载使用(仅供学习参考)
安装版本与解压版本我上传百度云盘,欢迎大家下载使用
点击跳转云盘进行下载
提取码:1l54
就是这个软件可以对数据库进行连接操作,让我们在使用的时候变得更加方便,更加舒适
1.对数据库中的运行过程要清楚
2.数据类型的调用与创建要仔细
3.对于数据的增删改查sql语句要熟练使用