javajava学习之路-03-MySQL

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javajava学习之路-03-MySQL相关的知识,希望对你有一定的参考价值。

 

mysql 数据库 day01

一、数据库
1、存储数据
2、MySQL、oracle、sql server、db2、sqlite...
3、关系型数据库:数据以表格形式存放
4、No sql

二、Mysql
1、开源免费的数据库
2、在互联网领域是最常用的数据库
3、被sun公司以10亿美金收购,一年后,sun被oracle收购
4、MySQL被oracle收购后,存在闭源风险
5、目前各大开开源社区,已经不在支持MySQL
6、MySQL的创始人,继续开发一个MySQL的分支版本,mariadb
7、开源社区都转向支持mariadb的开发
8、阿里巴巴把自己开发的数据库新功能免费贡献给mariadb

三、下载安装MySQL
1、MySQL有收费版本和免费开源的社区版本
2、下载在开源社区版
3、安装MySQL或mariadb都可以

四、MySQL的使用
1、MySQL数据库服务,是一个后台进程
2、使用客户端连接MySQL
(1)MySQL命令行客户端:mysql
mysql -u 用户名 -p -hxxx.xxx.xxx.xx -p3306(默认端口)
(2)MySQL官方客户端有:workbench navicat、sqlyog、mysqlfront

五、MySQL命令行客户端
1、连接、登录MySQL服务器
mysql -u root -p 登录本机服务器,以root用户

2、退出客户端、断开与服务器的连接
(1)exit
(2)\q

3、显示数据库列表
(1)show databases;
(2)show schemas;

4、进入数据库
use 库名;

5、查看数据库中数据表的列表
show tables;

6、MySQL用户操作:MySQL用户由”用户名+ip地址“来标识
(1)创建用户
create user‘用户名‘@‘xxx.xxx.xxx.xx‘ identified by ‘密码‘
例如:create user‘root1‘@‘192.168.121.%‘ identified by ‘1234‘
(2)对用户授权
grant all privileges on *.* to ‘用户名‘@‘xxx.xxx.xxx.xxx‘
例如:grant all privileges *.* to ‘root1‘@‘192.168.121.%‘
(3)用户表
use mysql; 进入mysql库
select * from user; 查看系统用户表数据
select * from user\G; 纵向查看结果
(4)删除用户
drop user ‘用户名‘@‘主机地址‘

7、库管理
(1)创建库
create database 库名 charset=utf8;
(2)查看库
a.show database;
b.show schemas;
(3)修改库:对数据库只能修改它的默认字符编码
alter database 库名 charset xx;
(4)删除库:删除数据库,会把内容所有数据表全部删除,且不可恢复
drop database 库名;

8、数据表
(1)创建表
create table 表名(
id int,
name varchar(20),
moeny decimal(8,2)
)engine=innodb charset=utf8;
(2)查看表
a.show tables;
b.desc 表名; 显示表中纵向信息
c.show create table 表名\G;
(3)删除表:删除表不可恢复
drop table 表名;
(4)截断表(重建表):先删除,再重建,数据不恢复
truncate table 表名;

9、修改表
(1)修改表名
rename table 表名(1) to 表名2;
(2)修改表的参数(引擎、编码)
alter table 表名 engine=xxx charset=xxx;
(3)添加字段
a.first -添加到最前面
b.after -添加到哪个字段之后
例如:
alter table tb2 add gender varchar(20) first;
alter table tb2 add height int after name;
alter table tb2 add (weight int,tel varchar(20));
(4)修改字段名
alter table tb2 change gender sex varchar(4);
(5)修改字段类型
alter table tb2 modify height decimal(3,2);
(6)修改字段位置
alter table tb2 modify height decimal(3,2) after name;
alter table tb2 modify name varchar(20) first;
(7)删除字段:整列数据会被删除,不可恢复
alter table tb2 drop column weight;

10、注意
字段字节量总和,不超过65535个字节。
varchar类型:如果长度小于等于255,前面有一个字节,表示字节长度;
如果长度大于255,前面有两个字节,表示字节长度。
如果表中字段,只要有允许null值的字段,那么久需要有额外的一个字节来表示。
(1)create table tb3(
id int, --4字节
price double, --8字节
name varchar(65520) --65520+2
)charset=latin1;

(2)create table tb3(
id int not null, --4字节
price double not null, --8字节
name varchar(65521) not null --65521+2
)charset=latin1;

(3)create table tb3(
id int not null, --4字节
price double not null, --8字节
s tinyint not null, --1字节
name varchar(21840) not null --21840*3+2
)charset=utf8;

11、sql
(1)结构化的查询语言
(2)用来访问数据库
(3)DDL 数据定义语言,建库建表
(4)DML 数据操作语言,增删改
(5)DQL 数据查询语言,select

12、insert 插入数据
insert into 表名 values(值1,值2)

13、update 修改数据
update 表名 set 字段1=值,字段2=值,字段3=值 where ......

14、delete 删除
delete from 表名 where ......

15、select查询
(1)select * from 表名
(2)select 字段1,字段2,字段3 from 表名

16、数据库存储引擎
(1)innodb
a.默认推荐引擎
b.支持事务
c.支持外键
d.提供行级锁
e.表文件:tb1.frm 保存表结构
tb1.ibd 保存数据、索引
(2)myisam
a.不支持事务
b.不支持外键
c.数据访问效率更高
d.只提供表级锁
e.表文件:tb2.frm 保存表结构
tb2.MYD 保存数据
tb2.MYI 保存索引数据
(3)memory 内存表
......

































































































































以上是关于javajava学习之路-03-MySQL的主要内容,如果未能解决你的问题,请参考以下文章

javajava学习之路-01-Linux基础

python学习之路

Python学习之路 目录

FastAPI 学习之路请求体有多个参数如何处理?

FastAPI 学习之路路径参数和数值的校验

FastAPI 学习之路字符串的校验