Mysql关系型数据库:建立在数据模型(管理系统、库、表)的基础上,由多张相互连接的二维表组成的数据库。特点:1、使用表存储,格式统一,便于维护2、使用通用的sql语言操作,标准统一、使用方便
学习笔记是跟着B站黑马学习记载的,希望对大家有帮助
Mysql
命令行连接数据库
1.命令行启动Mysql服务
net start mysql
2.连接
mysql -h 主机IP -P 端口Port -u root -p
默认ip主机 端口3306
本机连接Mysql简化:mysql -u root -p
Navicat/SQLyog 安装和使用
1.下载安装
Navicat 中国 | 支持 MySQL、Redis、MariaDB、MongoDB、SQL Server、SQLite、Oracle 和 PostgreSQL 的数据库管理
2.连接数据库
端口3306,本机连接localhost
创建数据库,设置数据库编码utf8
创建users表:字段id,name,addr
数据库三层结构
安装Mysql数据库,就是在主机上安装一个数据库管理系统(DBMS),这个管理程序可以管理多个数据库
Mysql数据库 包含了三层结构:数据库管理系统(DBMS)、数据库(DB)、表
端口连接终端
客户端、命令终端(DOS)、SQLyog、java等 连接数据库端口
mysqld是DBMS最重要的核心程序之一,mysqld通过端口监听
数据库存放在/mysql/data目录下,表在数据库中
数据库-普通表的本质是文件
所有的数据都必须进行持久化存储到磁盘中
基本了解
数据在数据库中的存储方式
存储方式为表的形式
row:行,column:列
记录:表的一行
SQL语句分类
DDL:数据定义语句【create 表、数据库】
DML:数据操作语句【insert、update、delete】
DQL:数据查询语句【select】
DCL:数据控制语句【管理数据库,用户权限grant、revoke】
Java操作Mysql
SQL执行顺序:
其中,编写顺序为:select 字段 from 表名 条件列表 group by 分组字段列表 having 分组后条件列表 order by 排序字段列表 limit 分页参数 执行顺序为:1、from 表(从哪张表查数据) 2、where 指定查询条件 3、group by 决定分组,having决定分组后的条件 4、select决定查询返回结果需要哪些字段 5、order by 对查询结果进行排序 6、limit 对查询结果进行分页
创建数据库
create database [if not exists] db_name
CHARACTER SET:指定数据库采用的字符集,如果不指定,默认utf8
COLLATE:指定数据库字符集的校对规则(常用的utf8_bin【区分大小写】、utf8general_ci【不区分大小写】、默认是utf8_general_ci)
图形化操作/命令行操作
create database db_zls01; //创建数据库
create database db_zls01 CHARACTER SET utf8 COLLATE utf8_bin; //创建指定字符规则并带校验规则的数据库
建表时不指定校对规则会默认使用数据库的校对规则
查看、删除数据库
显示数据库
show databases
显示数据库创建语句
show create database db_name
删除数据库
drop database [if exists] db_name(注意备份)
为了规避关键字,可以在创建数据库/表时使用反引号,db_name
table_name
备份、恢复数据库
备份数据库(DOS命令)
mysqldump -u 用户名 -p -B 数据库1 数据库2 数据库n > 文件名.sql
表的操作
创建表
create table table_name
( column datatype...
) character set 字符集 collate 校对规则 engine 存储引擎
列类型
数值类型
整型
tinyint 1个字节
smallint 2个字节
mediumint 3个字节
int 4个字节
bigint 8个字节
小数类型
float 单精度 4个字节
double 双精度 8个字节
decimal [M,D] 大小又M,D决定,范围很大
文本类型(字符串类型)
char 0-255
varchar 0-65535
text 0-65535(2^16-1)
longtext 0-2^32-1
二进制数据类型
blob 0-2^16-1
longblob 0-2^32-1
日期类型
date 显示日期 年月日
time 显示时间 时分秒
datetime 显示日期时间 年月日时分秒
timestamp 时间戳 自动更新