MySQL学习笔记简单分享(1)

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 时间戳 自动更新

你可能感兴趣的:(mysql,学习,笔记)