Mysql新手实践备忘

——————
可能的错误更正:
暂时个人都使用root帐号进行实验,如果用其他帐号需要创建和赋予权限的样子,具体参见官网文档:
Adding User Accounts
参考链接:mysql添加用户、删除用户、授权、修改密码等
——————

环境:ubuntu系统,MySQL

查看版本号获得结果:

mysql --version
mysql  Ver 14.14 Distrib 5.5.31, for debian-linux-gnu (i686) using readline 6.2


设置mysql命令行界面的tab自动补全:
编辑/etc/mysql/my.cnf文件,添加一行

auto-rehash


数据库登录:

mysql " 默认是当前主机和当前用户,直接执行
mysql -h localhost -u zhoutall -p   " 指定主机(一般都是本地的localhost,可省略),用户,和要求输入密码,-h/-u/-p都是可选项


数据导出:

mysqldump -u root -p school > school.sql " 导出root用户下的school数据库到school.sql文件
mysqldump -u root -p school sc > sc.sql " 导出root用户下school数据库中的表sc到sc.sql文件


sql文件导入:
有一个要求就是先要进去建好database,例如下面的testdb,然后可以导入一个有create table,insert,select什么的x.sql,如下:

mysql -u root -p testdb < x.sql


sql查询结果导出到文件:
使用如下的语句,添加into outfile

select * from sc,s where s.sno=sc.sno into outfile 'student_list.txt';

此时student_list.txt存放在mysql安装目录(/var/lib/mysql/…..)下面的某处(目录太深,不爽啊),同时如果你试验了就会发现它是不允许指定别的目录的,比如outfile ‘~/a.txt’。
本来解决方案是又要修改配置文件,不过考虑到需求不是很频繁,所以其实可以指定/tmp/a.txt的,就是说默认是允许放到系统的/tmp目录的:

select * from sc,s where s.sno=sc.sno into outfile '/tmp/student_list.txt';

输出包括表头的方法:
http://stackoverflow.com/questions/5941809/include-headers-when-using-select-into-outfile

一个很不错的有关MySQL写的很好的博客站点(很赞讲索引的那几篇):
http://www.ccvita.com/category/mysql/

Tags :

2 thoughts on “Mysql新手实践备忘”

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Click the right image To submit your comment: