Brc's blog
首页
前端
后端
运维
  • 工作笔记
  • 分类
  • 标签
  • 归档
关于

Brc

努力中
首页
前端
后端
运维
  • 工作笔记
  • 分类
  • 标签
  • 归档
关于
  • Linux基础

  • Linux进阶

    • shell

    • nginx

    • keepalived

    • LVS

    • ansible

    • docker

    • mysql

      • mysql
        • 数据类型
        • 关系操作
        • 创建用户并授权
        • mysql备份恢复
          • 备份
          • 恢复
          • UPDATE
      • Mysql 增删改查
      • 问题
  • 其他

  • 运维
  • Linux进阶
  • mysql
Brc
2021-05-28
目录

mysql

# 数据类型

MySQL中的数据类型

类型 含义
tinyint 1字节,带符号的范围是-128到127。无符号的范围是0到255。bool或boolean,就是tinyint,0表示假,非0表示真
smallint 2字节,带符号的范围是-32768到32767。无符号的范围是0到65535
int 整型,4字节,同Integer,带符号的范围是-2147483648到2147483647。无符号的范围是0到4294967295
bigint 长整型,8字节,带符号的范围是-9223372036854775808到9223372036854775807。无符号的范围是0到18446744073709551615
float 单精度浮点数精确到大约7位小数位
double 双精度浮点数精确到大约15位小数位
DATE 日期。支持的范围为'1000-01-01'到'9999-12-31'
DATETIME 支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'
TIMESTAMP 时间戳。范围是'1970-01-01 00:00:00'到2037年
char(M) 固定长度,右边填充空格以达到长度要求。M为长度,范围为0~255。M指的是字符个数
varchar(M) 变长字符串。M表示最大列长度。M的范围是0到65,535。但不能突破行最大字节数65535
text 大文本。最大长度为65535(2^16-1)个字符
BLOB 大字节。最大长度为65535(2^16–1)字节的BLOB列

LENGTH函数返回字节数。而char和varchar定义的M是字符数限制。

char可以将字符串定义为固定长度,空间换时间,效率略高;varchar为变长,省了空间。

# 关系操作

关系:在关系数据库中,关系就是二维表。 关系操作就是对表的操作。

选择(selection):又称为限制,是从关系中选择出满足给定条件的元组。

投影(projection):在关系上投影就是从选择出若干属性列组成新的关系。

连接(join):将不同的两个关系连接成一个关系。

# 创建用户并授权

GRANT all privileges ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;


CREATE USER 'birenchong_ro'@'%' IDENTIFIED BY 'password';
GRANT SELECT ON doki.* TO 'birenchong_ro'@'%';
FLUSH PRIVILEGES;
1
2
3
4
5
6

WITH GRANT OPTION 这个选项表示该用户可以将自己拥有的权限授权给别人。

注意:经常有人在创建操作用户的时候不指定WITH GRANT OPTION选项,导致后来该用户不能使用GRANT命令创建用户或者给其它用户授权。

如果不想这个用户有grant的权限,可以不加。

# mysql备份恢复

# 备份

备份所有数据库:

mysqldump -uroot -p --all-databases > /backup/mysqldump/all.db
1

备份指定数据库:

mysqldump -uroot -p test > /backup/mysqldump/test.db
1

备份指定数据库指定表(多个表以空格间隔)

mysqldump -uroot -p  mysql db event > /backup/mysqldump/2table.db
1

备份指定数据库排除某些表

mysqldump -uroot -p test --ignore-table=test.t1 --ignore-table=test.t2 > /backup/mysqldump/test2.db
1

-A

同参数--all-databases,备份所有库,并在备份文件中生成创建库的语句及use语句。这样方便恢复时不用创建指定数据库。

-B

此参数用于指定多个数据库,同-A参数,生成创建库的语句及use语句。

不指定上述参数

默认第一个选项为数据库名,如果有第二个及更多选项则为表名。不指定参数,也不会生成创建库的语句,恢复时需要手动创建数据库。

# 恢复

在导入备份数据库前,db_name如果没有,是需要创建的; 而且与db_name.db中数据库名是一样的才可以导入。

mysqladmin -uroot -p create db_name
mysql -uroot -p  db_name < /backup/mysqldump/db_name.db
1
2

# UPDATE

# 时间加5天
update firewall set date = DATE_ADD(date,INTERVAL 5 DAY);
# 时间减5天
update firewall set date = DATE_SUB(date,INTERVAL 5 DAY);
# 截取掉最后一个字符
update firewall set date = left(date, length(date)-1);
1
2
3
4
5
6
#mysql
Last Updated: 2024/04/01, 10:59:04
Dockerfile
Mysql 增删改查

← Dockerfile Mysql 增删改查→

最近更新
01
谷歌云创建GKE集群
07-26
02
ElastiCacheForRedis启用密码
07-26
03
upload-to-gcs
06-29
更多文章>
Theme by Vdoing | Copyright © 2021-2024 Brc | MIT License | 浙ICP备19031881号-4
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式