mysql语句众多,记录一下新工作中使用频率高的语句,方便查找。
1.连接远程主机上的mysql
假设远程主机的IP为:10.10.10.88,用户名为root,密码为abc123。则键入以下命令:
mysql -h 10.10.10.88 -P3306 -u root -pabc123
2.查看当前已连接主机上的数据库
show databases;
3.选择要操作的数据库test
use test;
4.查看要操作数据库的所有表
show tables;
5.切换要操作的数据库为db_test
use db_test;
6.查看某个表(test_info)的结构
describe test_info;
7.查看表中所有的数据
select * from test_info;
8.根据条件查找表中的数据
SELECT * FROM test_info WHERE h="test.xxx.com";
9.往数据库中插入数据
INSERT INTO test_info (id,h,protocol,ip,weight,idc,limit)VALUES('A1CF7A69BF2BFA66436D648D2B63DA8F','test.xxx.com','http','17006592',2,100,100)
10.更新表中的数据
UPDATE test.test_info SET protocol='http' WHERE h="test.xxx.com";
在测试过程中,用到的mysql语句基本上就是这些,最主要的是根据公司的业务需要和测试需要,查找到需要测试的数据,以及更新的数据;
另外由于一些功能或者业务的变动,也会涉及到修改数据库表的结构,比如:
11.增加数据库表中的字段
如:在表test_info中添加了一个字段strategy,类型为int(11),默认值为0:
alter table test_info add strategy int(11) default '0';
12.导出mysql数据库
进入mysql/bin目录下,输入命令:
mysqldump -u root -p db_name > name.sql
----------导出数据库db-name
mysqldump -u root -p db_name table_name > tablename.sql
--------导出数据库中的table_name表
输入命令后,会提示输入密码,密码输入正确后,导出的文件在当前bin目录下。
需要注意:导入导出的文件大小有限制,一般情况下,使用默认设置就可以,如果要修的话,可以修改my.cnf文件中的max_allowed_packet = 8M参数即可,文件路径/etc/my.cnf。
13.导入mysql数据库
连接数据库:
mysql -h 10.10.10.88 -P3306 -u root -pabc123
连接数据库后,查看当前的数据库,选择对应的数据库,然后导入对应的表:
source /usr/local/mysql/bin/tablename.sql;
—即source “路径名”+/tablename.sql
需要注意的是:导入数据库表之前,需要将数据库中的同名的数据库表删除,然后才能导入成功。
14.查看建表语句
连接数据库后,使用命令:
show create table dbname.tablename;
show create table sandai_hub.sd_function_set;
15.hex和unhex
工作中一些数据的插入和查找需要用到hex和unhex函数,比如表test_list中id的值需要通过unhex函数进行插入,查找时使用hex函数进行查找,如:
insert into test_list(id,dw,cause) values(unhex('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'),'2','1');
那么查找刚才插入的数据时,使用hex函数:
SELECT hex(id) FROM data.test_list where dw='2';
16、查看数据库表的创建时间
select * from information_schema.tables where table_schema='dbname' and table_name ='tablename';