列举一些我在开发过程中经常使用的数据库操作命令,以做备忘。
1,进入数据库命令mysql
或者mysql -uroot -phello
,其中root和hello分别为用户名和密码。
2,查看数据库列表show databases;
3,进入特定的数据库use mydatabase;
其中mydatabase为数据库名。
4,显示所有的数据表名称show tables;
5,显示数据表的属性信息show columns from mytable;
其中mytable为数据表名称。
6,更改数据表名称alter table mytable rename mytable_bak;
mytable为原来数据表的名称,而mytable_bak为新的数据表名称。
7,选择输出数据表的前10行:select *from mytable limit 10;
8,按照某一个属性列降序排序:select *from mytable order by ID desc limit 10;
9,按照某一个属性列升序排序:select *from cert order by CertID asc limit 10;
10,字符串匹配筛选数据表某些行select name,title from mytable where title like '%8%';
name 和 title为列的属性名,mytable为数据表。
11,查看数据库有多少行:select count(ID)from mytable;
ID为列的属性名称。
12,查看数据库的编码格式:show variables like 'character%';
13,查看数据表的编码格式:show create table mytable;
14,查看数据表每一列的编码格式:show full columns from mytable;
15,修改数据表的编码格式:由于经常需要更改数据表的编码格式,我在这里使用了更改my.conf配置文件的方法,达到一劳永逸,而没有使用命令行的方法。类似修改数据表某个字段的编码格式为:alter table namelist change GetHtmlTitle GetHtmlTitle varchar(256) character set utf8;
。
16,删除数据表:drop table cert,name,namelist;
17,更改数据库名称,由于无法直接更改数据库名称,因此先备份数据库,然后创建新的数据库,然后在把备份的数据库导入,删除老的数据库即可。
以下步骤不需要在mysql中执行,在shell中就行:
备份数据库:mysqldump -uroot -phello mydatabase > /root/dev/mydatabase_bak.sql
创建新的数据库:mysql -uroot -phello -e "create database mydatabase_bak"
备份的数据库导入:mysql -uroot -phello mydatabase_bak < /root/dev/mydatabase.sql
删除原来的数据库:mysql -uroot -phello -e "drop database mydatabase"
18,查看数据库历史命令:cat /root/.mysql_history
19,远程登陆数据库并查询mysql -uroot -proot -h 127.0.0.1 -P 3306 -e "select * from mydatabase.mytable limit 2;"
20,查看数据表的详细信息:show table status like 'mytable';
21,导出数据库mydatabase的一个数据表mytable:mysqldump mydatabase mytable > /home/mytable.sql
22,将数据表mytable导入数据库mydatabase:mysql mydatabase < home/mytable.sql
,需要注意的是,导入的数据表名称为导出时候,数据表在源数据库中的名称,因此保证在源数据库中的名称和新数据库中表名称不会重复,否则会发生数据覆盖。
以上就是我在linux上面经常使用的命令,由于不是数据库工程师,过多复杂的功能也没有使用过。
本文为CSDN村中少年原创文章,转载记得加上小尾巴偶,博主链接这里。