Java学习-Mysql(上)

目录

1、什么是数据库,为什么要学习数据库

2、初识Mysql,关系型和非关系型数据库

3、安装MySQL详细说明

4、Sqlyog软件安装和使用

5、基本的命令行操作

6、操作数据库语句

7、列的数据类型讲解

8、数据库的字段属性

9、创建数据库表

10、MyISAM和InnoDB区别

11、修改和删除数据表字段

12、数据库级别的外键

13、Insert语句详解

14、Update语句详解

15、Delete和Truncate详解

16、基本的Select语句和别名使用

17、去重及据库的表达式

18、Where子句之逻辑运算符

19、模糊查询操作符详解

20、联表查询JoinON详解

21、自连接及联表查询练习

22、分页和排序

23、子查询和嵌套查询

24、MySQL常用函数

25、聚合函数及分组过滤

26、拓展之数据库级别的MD5加密

27、Select小结


1、什么是数据库,为什么要学习数据库

 略


2、初识Mysql,关系型和非关系型数据库

关系数据库:MySqlk,Oracle,Sql Server, DB2

通过表和表,行列的关系存储 

非关系数据库:Redis,MongDB

对象存储 

DBMS :数据库管理系统,如MySql(www.mysql.com)

版本 


3、安装MySQL详细说明

尽量不用exe安装,尽量用压缩包安装 ,按照文档安装好mysql

3、安装MySQL详细说明_哔哩哔哩_bilibili


4、Sqlyog软件安装和使用


5、基本的命令行操作

show databases;查看所有数据库

use school  使用数据库

show tables 查看所有表

describe student 查看表信息

create database westos  创建数据库

exit;  退出连接

--    单行注释

/**/  多行注释 

数据库语言:CRUD(增删改查)

DDL定义

DML操作i

DQL查询

DCL控制

6、操作数据库语句

操作数据库、表、字段

mysql关键字不区分大小写 

DESC 显示表结构


7、列的数据类型讲解

  • 数值
  • tinyint   一个字节
  • smallint   两个字节
  • int   四个字节
  • mediumint   三个字节
  • bigint   八个字节
  • float   四个字节
  • double   八个字节(精度问题)
  • decimal   字符串i形式浮点数,一般用于金融计算

字符串

  • char   0-255 
  • varchar   可变字符串   0-65535,   =String
  • tinytext   微型文本   2^8-1
  • text   文本串   2^16-1

 时间日期

  • date,YYYY-MM-DD
  • time   HH:mm:ss
  • datetime   YYYY-MM-DD  HH:mm:ss
  • timestamp  时间戳,1970.1.1到现在的毫秒数
  • year   年份表示

null 

不要使用null进行运算


8、数据库的字段属性

  •  Unsigned
  • zerofill  不足的位数补零
  • 自增(自增1,必须是整数,可设置起始值和增量)
  • 非空
  • 默认


9、创建数据库表

CREATE TABLE IF NOT EXISTS 'student'(

‘id’ INT(4) NOT NULL  AUTO_INCREMENT COMMENT'ID'

PRIMARY KEY ('id')

)ENGINE = INNODB DEFAULT CHARSET = UTF8


10、MyISAM和InnoDB区别

 

事务支持行锁外键全文索引表空间
myISAMNONO        NOYES
InnoDBYESYESYESNO大(两倍)

Myisam:节约空间,速度快

INNODB:安全,事务处理,,多表多用户操作 

在物理上的区别:

InnoDB在数据库表只有一个*.frm文件,还有上级文件的ibdata

myISAM:*frm表结构文件、*.MYD数据文件、MYI索引文件 

11、修改和删除数据表字段


12、数据库级别的外键

外键

也可以创建完表后加入约束:


13、Insert语句详解

DML语言、添加insert、修改update、删除delete


14、Update语句详解


15、Delete和Truncate详解

TRUNCATE

这个命令可以删除所有索引,重新设置自增列,不影响事务


16、基本的Select语句和别名使用


17、去重及据库的表达式

distinct


18、Where子句之逻辑运算符

where


19、模糊查询操作符详解

用法:


 

in里面是精确锁定,不能用%



20、联表查询JoinON详解

两者结果一样

21、自连接及联表查询练习、

和外连接差不多,只是把自己分成两张表  


22、分页和排序


23、子查询和嵌套查询

  

  eg2:

多种查询方式:


24、MySQL常用函数

--  ================ 常用函数==================
SELECT ABS(-1)
SELECT CEILING(9.2)
SELECT FLOOR(8.2)
SELECT RAND ()
SELECT SIGN(-10) -- 判断符号的正负
-- 字符串函数
SELECT CHAR_LENGTH('augfakb')
SELECT CONCAT('123','456','789')
SELECT UPPER('ssss')
SELECT LOWER('sssaeSGVSEG')
SELECT REPLACE('123123123','1','0')
SELECT SUBSTR('123456789',3,7)
SELECT REVERSE('123456789')
-- 时间
SELECT CURDATE()
SELECT NOW()
SELECT LOCALTIME()
SELECT SYSDATE()
SELECT YEAR(NOW())
SELECT SECOND(NOW())


25、聚合函数及分组过滤

  

 

分组后不能用where:应该用having限定:


26、拓展之数据库级别的MD5加密

 MD5:不可逆加密算法,

一、MD5简介

MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。

MD5算法具有以下特点:

1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。

2、容易计算:从原数据计算出MD5值很容易。

3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。

4、强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。

MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的16进制数字串)。

大家都知道,地球上任何人都有自己独一无二的指纹,这常常成为司法机关鉴别罪犯身份最值得信赖的方法;与之类似,MD5就可以为任何文件(不管其大小、格式、数量)产生一个同样独一无二的MD5“数字指纹”,如果任何人对文件做了任何改动,其MD5也就是对应的“数字指纹”都会发生变化。

MD5算法 - 知乎 (zhihu.com)

一般在插入时加密:

校验: 


27、Select小结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值