【学习笔记】MySQL 5.7.19 增删改查

这篇博客详细介绍了MySQL 5.7.19的数据库和表的操作,包括创建、删除、查询、备份与恢复,以及数据的增删改查。讲解了各种字段类型、约束、存储引擎的选择,如主键、非空、唯一、外键等,并涉及数据操作中的函数使用,如字符串、统计、数学和时间日期函数。此外,还提到了流程控制相关的概念。
摘要由CSDN通过智能技术生成

该文档使用的MySQL版本为 5.7.19

零基础学习MySQL 5.7.19


数据库(Database)操作

创建数据库(create)

#默认方式创建,默认情况下,字符集是utf8,校对规则是uft8_general_ci
#如果数据库已经存在,创建会报错,加上IF NOT EXISTS可以避免已存在的报错
CREATE DATABAS [IF NOT EXISTS] 数据库名

#指定字符集
CREATE DATABASE 数据库名 CHARACTER SET utf8

#指定字符集和校对规则
CREATE DATABASE 数据库名 CHARACTER SET utf8 COLLATE utf8_bin

校对规则 :

#区分大小写
uft8_bin
#不区分大小写
uft8_general_ci


删除数据库 (drop)

一定要谨慎使用!

DROP DATABASE [IF EXISTS] 数据库名;

查询数据库

#查询所有数据库
SHOW DATABASES;

在这里插入图片描述

#查询数据库创建语句
SHOW CREATE DATABASE 数据库名;

在这里插入图片描述


数据库备份

在DOS执行

指令 讲解
-B 表示后面的都是数据库,可以同时备份多个数据库

mysqldump -u 用户名 -p -B 数据库1 [数据库2 数据库n] > 路径/文件名.sql


数据库恢复

在Mysql命令行执行

Source 文件名.sql


表(Table)操作

创建表(create)

CREATE TABLE 表名(
    field1 datatype,
    field2 datatype,
    field3 datatype
> ) CHARACTER SET 字符集 COLLATE 校对规则 ENGINE 存储引擎;
参数 讲解
field 列名,字段
datatype 指定列的类型(字段类型),如int、varchar、double等
CHARACTER SET 字符集,如utf8、gbk等,不指定则为所在数据库字符集
COLLATE 校对规则,如utf8_bin,不指定则为所在数据库校对规则
ENGINE 存储引擎

字段类型

数值类型

在这里插入图片描述
整数默认情况下范围都是有符号的,无符号需要在类型后加上 unsigned。如:

age TINYINT unsigned
id INT unsigned
salary DOUBLE unsigned

DECIMAL支持更加精确的小数位,M是小数位数的总数(精度),D是小数点后保留的位数(标度),M最大是65,D最大是30。不填写的情况下,M默认是10,D默认是0,用法:

DECIMAL(M,D) [unsigned]


字符串类型

注意: char(n) 和 varchar(n) 中括号中 n 代表字符的个数,并不代表字节个数,比如 CHAR(30) 就可以存储 30 个字符。
在这里插入图片描述


日期和时间类型

在这里插入图片描述
TIMESTAMP 一般会设置为非空、默认值是当前时间戳,当更新时也会改为更新时的最新时间戳:

CREATE TABLE t1(
			login_time TIMESTAMP 
			NOT NULL 						#不为空
			DEFAULT CURRENT_TIMESTAMP 		#默认设为当前时间戳
			ON UPDATE CURRENT_TIMESTAMP		#更新修改成当前时间戳
)

约束

主键(primary key)

用于唯一的标示表行的数据,当定义主键约束后,该列不能有重复数据,且不能为空
一张表里只能有一个主键,但可以是复合主键,如(id+name)

字段 数据类型 PRIMARY KEY

#复合主键
PRIMARY KEY(字段1,字段2)

非空(not null)

该字段必须添加数据,不能为空

字段 数据类型 NOT NULL

唯一(unique)

该字段的值是唯一的,不能有重复
如果没有给字段指定not null,则unique字段可以有多个null

字段 数据类型 unique

外键(foreign key)

注意事项:
用于定义主表和从表之间的关系,主键要定义在主表上,外键要定义在从表上
当从表指定了外键,在从表插入数据时,主表里必须要有对应的数据,否则会插入失败
外键指向的表的字段要求是primary key 或者是unique
表的类型必须是innodb
外键的类型要和主键的类型保持一致(长度可以不同)
一旦建立了外键的关系,

FOREIGN KEY (本表字段) REFERENCES 外表(字段)

check

注意: 目前mysql5.7还不支持
用于约束

自增长(auto_increment)

字段 整数 PRIMARY KEY AUTO_INCREMENT

一般自增长和primary key一起使用,单独使用的时候需要和unique搭配使用
自增长默认从1开始,可以通过修改alter table 表名 auto_increment = 新的开始值;

插入数据

#当第一个字段为自增长,插入自增长字段数据时用null
insert into 表名 values(null,数据1,数据2)

储存引擎(Storage Engines)

#查看所有的存储引擎
SHOW ENGINES;

在这里插入图片描述

常用的4种引擎特点

在这里插入图片描述

修改存储引擎

ALTER TABLE 表名 ENGINE  = 存储引擎;

表操作

删除表(drop)

一定要谨慎使用!

drop table 表名;

修改表

修改表名(rename)
rename table 原表名 to 新表名
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值