2021-07-15

Mysql数据库学习

一、命令行数据库

1、登录数据库

net start MySQL 启动数据库服务
mysql -uroot -pwxs15279571064
在这里插入图片描述

2、Mysql 的常用命令

show databases; 查看数据库中有那些数据库以分号结尾
在这里插入图片描述
use 数据库名; 使用数据库
在这里插入图片描述
create database study ; 创建数据库
show databases ; 展现数据库

3、表的常用命令

use student;
show tables;
在这里插入图片描述

4、数据类型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、字段的属性

在这里插入图片描述
在这里插入图片描述

二、表的创建和操作

1、命令创建一张表

在这里插入图片描述
在这里插入图片描述

CREATE TABLE IF NOT EXISTS student(
id INT(4) NOT NULL AUTO_INCREMENT COMMENT ‘学号’,
name VARCHAR(20) NOT NULL DEFAULT ‘匿名’ COMMENT ‘姓名’,
pwd VARCHAR(20) NOT NULL DEFAULT ‘123456’ COMMENT ‘密码’,
sex VARCHAR(4) NOT NULL DEFAULT ‘男’ COMMENT ‘性别’,
birthday DATETIME DEFAULT NULL COMMENT ‘出生日期’,
address VARCHAR(100) DEFAULT NULL COMMENT ‘家庭住址’,
PRIMARY KEY(id)
)ENGINE=INNODB DEFAULT CHARSET=utf8
在这里插入图片描述

2、数据库引擎

在这里插入图片描述
在这里插入图片描述

3、修改表和删除表

1、修改表
ALTER TABLE wxs RENAME AS dxy 给表重命名
ALTER TABLE wxsuser ADD age INT(20) 增加一个字段
ALTER TABLE wxsuser MODIFY age VARCAHER(10) 修改字段的约束类型
ALTER TABLE wxsuser CHANGE age age01 INT(15) 修改字段名
ALTER TABLE wxsuser DROP age01 删除字段
2、删除表
DROP TABLE IF EXISTS wxsuser

三、数据库的数据管理

1、数据库的外键

在这里插入图片描述
在这里插入图片描述

四、DML语言(增、删、改)

1、添加(insert)

在这里插入图片描述

2、更改操作

在这里插入图片描述
在这里插入图片描述

3、删除表数据

在这里插入图片描述
CREATE TABLE test(
id INT(10) NOT NULL AUTO_INCREMENT,
coll VARCHAR(20) NOT NULL,
PRIMARY KEY(id)
)ENGINE=INNODB DEFAULT CHARSET=utf8

INSERT INTO test(coll) VALUES(‘1’),(‘2’),(‘3’)

DELETE from test在这里插入图片描述
在这里插入图片描述

五、DQL查询数据

在这里插入图片描述

1、字符串拼接查询

SELECT * FROM account
SELECT name,money FROM account
SELECT nameas 姓名,moneyas 金额 FROM account
SELECT CONCAT(‘姓名:’,name) as 新名字 FROM account 拼接字符串函数 concat(str,str)

2、去重查询

去重复的数据
SELECT * FROM account
SELECT idfrom account
SELECT DISTINCT id from account id字段重复数据去重

数据库列表达式
在这里插入图片描述

3、模糊查询

在这里插入图片描述
在这里插入图片描述

4、联表查询

–查询(学号、姓名,金额,COLL)
两张表的节点
通过inner join 将两张表连接
两张表相同的字段查询出来,指明是那张表的字段 s.id

SELECT s.id,name,money,coll from account as s INNER JOIN test as t WHERE s.id=t.id
在这里插入图片描述
在这里插入图片描述

5、自动连接和联表查询

在这里插入图片描述

6、分页(limit)排序(order by)

排序

排序: 升序 ASC 降序:DESC
在这里插入图片描述
分页:
在这里插入图片描述
在这里插入图片描述

7、子查询和嵌套查询

在这里插入图片描述
在这里插入图片描述
inner join:
在这里插入图片描述
子查询嵌套:
在这里插入图片描述
子查询改造:
在这里插入图片描述

8、Mysql的常用函数和查询语法

在这里插入图片描述
在这里插入图片描述

9、聚合函数count()及分组过滤

在这里插入图片描述

分组和过滤:
在这里插入图片描述

10、数据库级别的MD5加密

CREATE TABLE tearch(
id INT(10) not NULL auto_increment,
name VARCHAR(10) NOT null,
meojr VARCHAR(20) NOT NULL,
seryty INT(30) NOT NULL,
PRIMARY KEY(id)
)ENGINE=INNODB DEFAULT CHARSET=utf8

INSERT INTO tearch VALUES(1,‘wxs’,‘学生’,1000),(2,‘dxy’,‘老师’,3000),(3,‘zyj’,‘程序员’,3477)

UPDATE tearchSET seryty=MD5(seryty)

INSERT INTO tearch VALUES(4,‘wdw’,‘老板’,MD5(‘6751651’))

11、select小结

在这里插入图片描述

六、Mysql事务

1、事务的原则ACID(原则性,一致性,隔离性,持久性)

在这里插入图片描述
在这里插入图片描述

2、事务执行的流程

在这里插入图片描述
在这里插入图片描述

3、模拟事务转账场景

在这里插入图片描述
CREATE TABLE accout(
id INT(10) NOT NULL auto_increment,
name VARCHAR(20) NOT NULL ,
money INT(10) NOT NULL,
PRIMARY KEY(id)
)ENGINE=INNODB DEFAULT CHARSET=utf8

INSERT INTO accout(name,money) VALUES(‘wxs’,2000.00),(‘dxy’,10000.00)

SET autocommot=0;
START TRANSACTION
UPDATE accout SET money=money-500 WHERE name=‘wxs’;
UPDATE accout SET money=money+500 WHERE name=‘dxy’;
COMMIT;
ROLLBACK;
SET autocommit=1;

七、数据库索引

1、索引的分类和基础语法

在这里插入图片描述
在这里插入图片描述

2、测试索引(100万数据)

在这里插入图片描述
访问比较靠后的数据时,需要将全部数据遍历一遍,添加索引后,指定到你想要查询的数据,耗时比较少课
可以通过 explain来分析sql语句,来查看数据的的执行情况

*

3、索引的原则

在这里插入图片描述

八、数据库权限管理

1、用户管理

在这里插入图片描述

2、数据库备份

在这里插入图片描述

九、如何设计一个项目的数据库

1、设计数据库的步骤

在这里插入图片描述

2、数据库的三大范式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

十、JDBC操作数据库

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值