mysql学习

mysql数据库基本介绍

  • 基本知识
  • 数据库分类
  • SQL简介
  • MySQL访问

基本知识

数据库: database , 是一种存储数据的仓库

  • 根据数据结构组织,存储和管理数据
  • 长期, 高效的管理和存储数据
  • 存, 读

数据库分类

现在常用数据库模型

  • 关系型数据库: 基于关系模型的数据结构 (二维表) 通常存储在磁盘
  • 非关系型数据库: 没有具体模型的数据结构 (键值对) 通常存储在内存

关系型数据库

  • 关系模型
    • 关系数据结构 (存储)
    • 关系操作集合 (操作)
    • 关系完整性约束 (约束)
  • 存储在磁盘 (永久性存储)
  • 关系数据库 (DBS) 有四层结构
    • 数据管理系统 (DBMS): 管理系统运行
    • 数据库 (DB)
    • 数据表 (Table)
    • 数据字段 (Field) 列
  • 关系数据库产品
    • 大型: Oracle , DB2
    • 中型: MySQL, SqlServer
    • 小型: Sybase, Acess

在这里插入图片描述

SQL 介绍

针对关系型数据库特殊标准化的编程语言

在这里插入图片描述

MySql 安装 | 配置

安装:

https://downloads.mysql.com/archives/installer/

教程:

https://zhuanlan.zhihu.com/p/37152572

# 公司
root/luojin

安装 Navicat Premium 12

https://www.cnblogs.com/wei9593/p/11907307.html

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

# 密文登录  -h$HOST -P$PORT -u账户 -p
mysql -uroot -p

MySQL 基本操作

  • SQL基本语法
  • SQL库操作
  • SQL表操作
  • SQL数据操作
SQL语法规则

在这里插入图片描述

SQL语句一定要有结束符

eg:

  1. 结构创建
create 结构类型 结构名 结构描述;

// eg
create database basename;

create table tablename;
  1. 显示结构
# 查看结构
show 结构类型(复数);
eg: show tabels;

# 显示结构创建详情
show create 结构类型 结构名;
eg: show create table tablename;
  1. 数据操作 (数据表)
# 新增数据
insert into 表名 values;

# 查看
select form 表名;

# 更新
update 表名 set;

# 删除
delete form 表名;

SQL库操作

创建数据库
create database 数据库名 [数据库选项]

数据库选项:

  • 字符集 charset / character set
  • 排序规则(校对集) collate
#eg 
create database db_1;

create database db_2 charset utf8MB4;

create database db_3 charset utf8MB4 collate utf8mb4_general_ci;
查看数据库

作用: 查看数据库是否存在. 数据库字符集相关信息

show databases;

# 显示创建详情
show create database db_1;
使用数据库

简化后续操作. (不必加上数据库名)

use db_1
修改数据库
  • 字符集 charset / character set
  • 排序规则(校对集) collate
alter database 数据库名 库选项

# eg  如果字符集修改了. 那校对集也要同时修改
alter database db_1 charset gbk collate gbk_chinese_ci;
删除数据库
drop database 库名

SQL表操作

创建表

在这里插入图片描述

格式:

create table [数据库名.]表名(
    字段名 字段类型,
    ...,
    字段名 字段类型
)表选项;
# eg
create table db_1.t_1(
    name varchar(50),
    age int
);

create table db_1.t_2(
    name varchar(50),
    age int
)engine Innodb charset utf8MB4;

# 复制相关结构的表
create table t_3 like db_1.t_2

在这里插入图片描述

查看表

所有表:

show tables;

指定库的表:

show tables from 库名;

匹配关联表: (_单个匹配, %模糊匹配)

以 (单字)like 结尾的表 eg: alike

show tables like ‘_like’;

以 (多个)like 结尾的表 eg: t_alike

show tables like ‘%like’;

查看详情: 三种写法

desc 表名;
describe 表名;
show columns from 表名;

以什么结尾

\g: 以\g结尾和分号;没区别

\G: 以行显示

在这里插入图片描述

更改表
  • 修改表名 rename table 旧表 to 新表
  • 修改选项 alter table 表名 [表选项]
rename table t_3 to t_1;

SQL(表)字段操作

更改字段(增删改-前提表存在)

都需要跟上字段类型

新增字段

alter table 表名 add 字段名 字段类型 [字段属性] [字段位置];

# eg
alter table t_1 add email vachar(255);

字段位置

  • 分两种
    • 第一: first
    • 某字段之后: after 存在的字段名
  • 适用于新增字段, 修改
alter table 表名 字段操作 字段位置;

# eg
alter table t_1 add id int first;

alter table t_1 add create_time time(255) after age;

修改字段名, 类型.

alter table 表名 change 旧字段 新字段 字段类型 [字段属性] [字段位置];

修改字段类型, 属性, 位置.

alter table 表名 modify 字段名 字段类型 [属性] [位置];

删除字段

alter table 表名 drop 字段;

SQL 数据操作

新增数据

全字段插入: insert into 表名 values ( 字段列表顺序对应的所有值 )

部分字段插入(灵活自己定顺序): insert into 表名 (部分字段) values (部分字段对应的值)

eg:

# 全字段
insert into t_1 values(2, 'yewq2', 18);

# 部分字段插入, 可自己调整顺序. 值需要对应
insert into t_1 (id, name, age) values(3, 'yewq3', 18);

insert into t_1 (`id`, `name`, `age`) values(4, 'yewq4', 18);
查询数据

select * | 字段列表 from 表名 [where查询条件];

查询条件: where [条件]

select * from db_1.t_1;

select id,name from db_1.t_1;

# 带条件
select `id`,`name` from db_1.t_1 where id = '1';
select id,name from db_1.t_1 where name = 'yewq';
select id,name from db_1.t_1 where name like 'yewq_';
select id,name from db_1.t_1 where name like 'y%';
更新数据

update 表名 set 字段 - 新值 [, 字段 = 新值] [where条件];

# 更新所有
update db_1.t_1 set age = 19;

# 带条件 常用
update t_1 set name = 'yewq_new' where id = 1;
删除数据

delete from 表名 [where条件];

delete from db_1.t_1 where id = 4;

字符集, 校对集

字符集
  • 字符集概念

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

  • MySQL字符集关系
# 查看MySQL支持的字符集
show charset;
  • 解决乱码问题
# 设置客户端字符集
set name gbk;

# 查看字符集
show variables like 'character%';

在这里插入图片描述

  • 字符集设置原理

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

校对集

概念

数据比较的规则

  • 大小写不敏感: _ci, case insensitive (不区分大小写)
  • 大小写敏感: _cs, case sensitive (区分大小写)
  • 二进制比较: _bin (区分大小写)

在这里插入图片描述

show collation;

升序

select * from t_5 order by [字段名];

在这里插入图片描述

字段类型

四大类型:

  • 整数类型
  • 小数类型
  • 字符串类型
  • 时间日期类型
整数类型 int

有效的整数数据;

  • 迷你: tinyint, 1字节
  • 短: smallint, 2字节
  • 中: mediumint, 3~
  • 标准: int, 4~
  • 长: bigint, 8~

再看 是否有无符号: (正数 /负数);

  • unsigned: 无符号
  • 默认有符号.
create table t_6(
    money smallint,
    age tinyint unsigned
);

在这里插入图片描述

在这里插入图片描述

显示宽度 eg: int(L)

数值宽度(位数), 不影

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值