MySQL数据库应用管理实战-第五
---恢复内容开始---
表中插入数据
1、按指定所有列插入
insert into test(ind,name) values(1,'zhangshuan');
2、由于 ind列为自增,所以可以只在name 列插入值
insert into test(name) values('oldgirl');
3、如果不指定列,就按表结构进行插入,类型要对上,按顺序插入。
insert into values(3,'inca');
4、批量插入。
insert into values(3,'inca'),(4,'whang');


退出数据库进行备份
单实例:
[root@agent ~]# mysqldump -uroot -poldboy123 -B test >/tmp/test_bak.sql
多实例:
[root@agent ~]# mysqldump -uroot -poldboy123 -S /data/3308/mysql.sock -B test >/tmp/test_bak.sql
提示:
1、错误的占是 -A 表示 所有库,后面不能在指定oldboy_gbk库了
2、5.1.68版本:
[root@agent ~]# mysqldump -uroot -poldboy123 -A -B test >/tmp/test_bak.sql
——————————————————————————————————
查询数据
select from where
————————————————————————————
使用explain查询select 查询 语句执行计划
explain select * from test

可以判断出一个语句是否走索引查询速度提升
索引

查询行数

——————————————————————————————————————————
修改表中数据
修改表中指定条件固定列的数据
语法:
update 表名 set 字段=新值,...where 条件(一定要注意条件)
update test set name='gongli' where id=3;
______________________________________________________________
恢复数据库,并且在不登录 情况下看数据表内容

增量恢复,背景,在备份时间间点后,有操作,要恢复。

然后按时间点,进行编辑bin.sql 找出错前 语句。把造成出错的数据语句删除,把数据库进行正常恢复。

——————————————————————————————————————————————————————————
实例题 :
在mysql 数据库中, 关于binlog日志,下列说法中正确的是: (A)
A、依靠足够长度的binlog日志和定期全备,我们可以任何时间点的单表数据
B、以mysql主从同步为例,binlog中会记录主数据库进行所有 操作
C、以mysql 主从同步为例,binlog中会记录主数据库进行所有 查询操作
D、binlog通过cat 和vi 无法查看,但可以通过 gedit查看。
提示:binlog只记录修改不记录查询

启动顺序

——————————————————————————————————————
修改表中所有行数据
严重的安全(可能训操作导致 数据对视)
防止数据误操作一例
http://oldboy.blog.51cto.com/2561410/1321061
————————————————————————————————————————————————————
删除表中数据
delete from test where id=1;
备注:不加条件是全部删除,也是非常危险操作,delete from test;
直接清空
truncate table test;
truncate table test; 和delete from test;区别
1、 truncate table test;更快 ,清空物理文件
2、delete from test ;逻辑清除,按行删除
——————————————————————————————————————————
增删改表的字段
语法:
alter table 表名 add 字段 类型 其他;
实践案例:
例:在表test中添加 字段 sex ,age ,qq,类型分别为char(4),int(4),varchar(15)




_____________________________________________________
更改表名
语法:rename table 原表名 to 新表名
或
alter table oldboy rename to test;
_______________________________________
数据库优化
1、insert 批量插入
2、不用* 查询列,列出来查询
__________________________________________________________
MYSQL 插入中文数据乱码问题




小结:
1、DOQ,DML 语句之前 set names 系统库存表字符集
2、


mysql中文不乱码5种方法小结
1、登录 mysql 先做"set names latin1;" 这个设置是暂时,下次登录又加再设置。然后再执行更新语句或执行语句文件

2、在sql 文件中指定set names latin1; 然后登录 mssql ,通过 以下命令执行

3、在sql 文件中指定set names latin1; 然后通过 mysql 命令导入数据

4、通过指定mysql 命令字符集参数实现 --default-character-set=latin1

5、在配置文件里设置客户端及服务端相关参数

不乱码思想,linux系统 ,客户端和服务端,库,表 ,程序,字符集统一






---恢复内容结束---

浙公网安备 33010602011771号