Mysql笔记

insert into test(id,name) valuse(1,'template');

insert int test values(4,'zuma'),(5,'kaka')   批量插入两条数据,提升效率


delete from test; 删除全部数据



mysqldump -uroot -p123456 -S /data/3306/mysql.sock -B test > test_bak.sql  备份数据库 

mysqldump -uroot -p123456 -A -B > mysqlbak.sql  ##-A备份所有的库

select语法:

select <字段1,字段2,...>from < 表名 > where <表达式> 其中select,from,where不能随便改,是关键字支持大小写 

查询 最好不要用* ,因为*要去匹配

mysql> select id,name from test limit 2;   #limit2只查询两个

mysql> select id,name from test limit 0,2;

mysql> select id,name from test where id=1;

mysql> select id,name from test where name='template' #字符串查询最好加引号,要不然可能不走索引

mysql> select id,name from test where name='template' and id='2';

mysql> select id,name from test where id>2 and id<4;

mysql> select id,name from test where id>2 or id<4;


mysql> select id,name from test order by id; #升序排序

mysql> select id,name from test order by id desc;  #降序排序

mysql> ALTER TABLE table_name DEFAULT CHARACTER SET character_name;
修改表的默认字符集


mysql> explain select * from test where name='template'G #explain查看执行计划


修改表中数据:
update 表名 set 字段=新值... where 条件 

mysql> update test set name='leon' where id=3;


30 1 * * * root mysqldump -u root -pPASSWORD --all-databases | gzip > /mnt/disk2/database_`date '+%m-%d-%Y'`.sql.gz  #crontab每日备份

mysqlbilog命令用来查看mysql的binlog日志


mysqladmin -uroot -p123456 flush-log   告诉mysql立即切割binlog日志

mysql -uroot -p123456 -U  #-U 防止数据库误操作 必须需要有where条件


删除表中数据:

mysql> delete from student where id=1;

mysql> delete from student where id>3;

mysql> truncate table test;   #清空test表


truncate table test 和delete from test 的区别:

1、truncate 速度更快,清空物理文件,delete 逻辑清除,按行删

增删改表的字段

1、命令语法:alter table 表名 add 字段 类型 其他;

2、测试表数据

mysql> alter table student add sex char(4); #默认添加到最后,可以使用after name,指定插入位置

mysql> alter table student add age int(2) first; #插入到第一行


更改表名:
mysql> rename table student to test;

mysql> alter table test rename to student;

删除表:
mysql> drop table test;

mysql> set names latin1;  #中文乱码的情况解决办法
原文地址:https://www.cnblogs.com/Template/p/9363201.html