数据库的原则
  1. mysql用redis做缓存
  2. 运营的数据的需求不要写在业务逻辑里面,而是从源数据里面去导出
mysql
  1. 用户
    mysql -uroot    #登录
    select user();  #查看当前用户
  2. CREATE DATABASE database_name;  #创库
    DROP DATABASE database_name;    #删库
    show database;                  #查看所有库
    grant all privileges on database_name.* to 'username'@'%' identified by 'password';  #新增用户&添加权限
    flush privileges;               #刷新权限
  3. show tables;                    #查看所有表
    DROP TABLE table_name;          #删除表
    desc table_name;                #查看单表字段
    show create table table_name    #查看表结构&编码&引擎 (如果表结构被修改 命令显示的是最新的表结构)
    show create database db_name    #查看数据库默认编码 (实际编码优先级是 字段>表>库)
    ALTER TABLE `table_name` ADD `field_name` INT NOT NULL DEFAULT COMMENT 'desc' AFTER `field_name`;  #添加字段
    ALTER TABLE `table_name` ADD PRIMARY KEY `field_name`;  #给表添加主键
    ALTER TABLE `table_name` DROP `field_name`;             #删除字段
    show create table `table_name`;                         #查看表创建语句
    SELECT * FROM `table_name01` WHERE  gname LIKE '%xxx%' UNION ALL SELECT * FROM `table_name02` WHERE  gname LIKE '%xxx%';  #连表查询
  4. 数据备份&恢复
    mysqldump -h127.0.0.1 -P3307 -uroot -pPW --databases db1 db2 > db12.sql   #多库备份
    mysqldump -h127.0.0.1 -P3307 -uroot -pPW \
    --single-transaction \                                       #保证数据一致性(MVCC快照,不锁表,适用于InnoDB)
    --routines \                                                 #备份存储过程和函数
    --events \                                                   #备份定时事件
    --triggers \                                                 #备份触发器
    --default-character-set=utf8mb4 \                            #防乱码 (需要查看实际的编码如果是utf8 utf8mb4则安全)
    --hex-blob \                                                 #防二进制字段损坏 (有BLOB/文件字段)
    --all-databases > all.sql                                    #所有数据库备份
    mysql -h127.0.0.1 -P3307 -uroot -pPW < db12.sql              #多库恢复
    mysql -h127.0.0.1 -P3307 -uroot -pPW < all.sql               #所有数据库恢复
文档更新时间: 2026-05-15 15:22   作者:morninglu