一、数据库简介
1.数据库:数据仓库,访问必须只能用sql语言来访问,也是一个文件系统。
2.作用:储存数据。开发任何应用,都要有数据库,一个项目可以有多个数据库。
3.关系型数据库:数据库中保存的实体与实体之间的关系。
(实体可以看作java对象,相同属性抽出来作为 一个类,就像是用户,用户作为一个实体有姓名密码电话地址等等,订单表又是一个实体,用户表和订单表有关系,就是关系型数据库)
4.常见数据库:
Java常用Oracle和MySQL
·Oracle:安全性比较好,但是需要好付费
·MYSQL:开源的可以免费使用
·SQLserver:需要收费的大型数据库
·DB2
·SyBASE
mysql语言分为两大类:
查询和修改
修改:对原有表进行修改的操作,包括增删改三个
Sql语句可认为是一种 与数据库交流的语言,不同数据库会有自己的语言。
二、Mysql数据库的安装和卸载
删除的三个维度:安装目录删掉、删掉服务、使用中产生的文件删掉
通常安装方式:①傻瓜安装一直下一步②解压绿色版本 自己配置初始化环境
通常用的有:5.6、5.7、8.0
5.5版本以前mysum 以后都是inodb
我用的是8.0.11
配置mysqlhome,配置\\bin目录
删掉用cmd:SC DELETE MySQL,可以查一查ai
配置my.ini新建记事本

尝试复制data,重新下载安装数据库
具体安装步骤查看安装教程文档

输入mysql -uroot -p 回车 密码就可以进入mysql服务器了
三、MySQL数据库概念
Mysql服务器可以有多个数据库,就好比有navicat不代表有数据库,只不过是图形化可操作的软件,一个数据库有多个表,一个表有多个字段
用户表有一行一行数据,就像用户实体有多个实体对象
四、SQL语言
是用来操作数据库的,全程结构化查询语言
非过程性语言:Java语言,一段逻辑一段业务、下一行代码依托于上一行语言
过程性语言:一行语言就一个结果导向,返回一个对应结果,可能穿插条件,sql不依托于上一行代码
五、SQL的分类
DDL:操作表。创建数据库、创建表、创建视图、创建索引、修改数据库、修改表、删除
DML:数据操作。插入、修改、删除数据
DCL:数据控制。If else
DQL:数据查询。
六、创建数据库
使用cmd 输入mysql -uroot -p 输入密码登录mysql服务器
![]()
输入create database mydb1;

输入use mydb1;来改变当前数据库
![]()
输入create table employee(id int,name varchar(30), gender char(5), birthday date, entry_date date, job varchar(50), salary double, resume text);
创建数据库当中的字段信息
![]()
输入desc employee;查看employee表的信息


七、查看数据库



八、切换数据库
Select database();查看当前正在使用的库

Show create datebase 数据库名;查看数据库创建的规则

Show databases 查看所有的数据库

九、删除数据库
基本不会用这种操作。
·drop database 数据库名;——删除数据库

十、修改数据库
语法:
Alter database 数据库名 character set ‘gbk’ collate ‘校对规则’;
十一、mysql数据类型
·字符串类:VARCHAR 和CHAR ,前者可变后者不可变,Java中都由string接收
比如给了姓名两个字符,你存不进三个字符,你如果给30个长度,那就能存了,VARCHAR不浪费,占3位之后,后边自动去掉。CHAR后边会有空格补充,空间利用不好、性能不好。
·大数据类(不常用,一般存的是文件。字符文件,能看懂的那种;字节文件,MP3,MP4等;内存很大通常不存在于数据库当中):
BLOB:字节
TEXT:字符
·数值类型(重点):TINYINT SMALLINT INT BIGINT FLOAT DOUBLE
·逻辑型:BIT (BOOLEAN)
·日期型(重点):Java中用SimpleDateFormat格式化时间
DATE:只包含日期
TIME:只包含时间
DATETIME:年月日时分秒(如果你没有给值,用户列表用户信息的时间的表就是NULL)
TIMESTAMP:年月日时分秒(如果你没有给值,用户列表用户信息的时间的表就是你现在的系统时间业务场景可以用与录入新入职的员工信息)
十二、表约束
1.单表
是我们创建表需要添加的东西,保证数据的完整性
主键约束:
·唯一: 就像我们的身份证号
·非空:
·被引用
·关键字
唯一约束:声明字段是唯一的
非空约束:必须得有
比如说创建表时候的主外键约束
一个用户有多个订单,用户和订单绑定,用户删除订单也都删除了
删除和查看表
1.删除表语法:drop table 表名;
2.查看标签:
·desc表名:查看表的信息

·show tables 查看所有标签

·show create table查看创建信息

修改表
1.语法:
-
- alter table 表名 add 新列名 类型(长度) 约束; ‐‐ 添加列
- alter table 表名 drop 列名; ‐‐ 删除列
- alter table 表名 modify 列名 类型(长度) 约束; ‐‐ 修改列的类型或者约束
- alter table 表名 change 旧列名 新列名 类型(长度) 约束; ‐‐ 修改列名
- rename table 表名 to 新表名; ‐‐ 修改表的名称
- alter table 表 名 character set utf8; ‐‐ 修改表的字符集
2.案例:
在上面员工表的基本上增加一个image列。
alter table employee add image varchar(50);

修改job列,使其长度为60。
alter table employee modify job varchar(60);
删除gender列。
alter table employee drop gender;

表名改为user。
rename table employee to user;

修改表的字符集为utf8
alter table user character set utf8;

列名name修改为username
alter table user change name username varchar(30);





