数据库的原则
- mysql用redis做缓存
- 运营的数据的需求不要写在业务逻辑里面,而是从源数据里面去导出
mysql
- 用户
mysql -uroot #登录 select user(); #查看当前用户 - 库
CREATE DATABASE database_name; #创库 DROP DATABASE database_name; #删库 show database; #查看所有库 grant all privileges on database_name.* to 'username'@'%' identified by 'password'; #新增用户&添加权限 flush privileges; #刷新权限 - 表
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%'; #连表查询 - 数据备份&恢复
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
