MySQL的一些基本操作
相信学过任何一种数据库的人都知道,一般来说,标准SQL语句是大体相同的。各公司开发的不同数据库,性能上或有不同,但这个对于我们使用者来说,只是效率问题,我们所关注的只是对一种数据库的使用。既然说了SQL语句是大家都遵守的,那么我们对于一门数据库的掌握应该说就是一些基本的系统操作了。这里就是今晚摸索的MySQL数据库的一些入门的操作。
一、 简介(开始接触一个产品,有必要稍微了解一下其基本信息)
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年被SUN公司收购,不过2009年SUN又被Oracle收购,所以现在MySQL可以说掌握在Oracle手中。由于其体积小、速度快、总体拥有成本低,尤其开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择MySQL作为网站数据库。(详情参见MySQL百度百科http://baike.baidu.com/view/24816.htm)。
二、 安装
MySQL数据库本身及其小巧,所以安装很是简单,我参考了百度文库资料http://wenku.baidu.com/view/6e7918c3d5bbfd0a795673c5.html。我用的是version5.5.22,可能是最新的了,Win7系统。考虑到不是所有人都有百度账号和足够的下载积分,我已经将文件上传到了CSDN下载资料中:http://download.csdn.net/detail/gsilenceqin/4197907。
在这个安装教程中其实没有什么好说的,只有两点需要注意下:
1. MySQL最好不要安装到系统盘下,否则到时候系统备份回复的时候可能比较麻烦。
2. 安装完了,进入配置导向的时候,最好选择配置环境变量,这样省去了你自己去配置环境变量,而可以在cmd命令行直接登录MySQL数据库。
三、 命令行操作
尽管不是DBA,我还是习惯于用命令来操作数据库。下面介绍从登陆命令行进入MySQL的一些基本操作。(当然你需要进入)
1、连接MySQL
格式: mysql -h<host> -u<username> –p<password>
(-h,-u,-p与之对应的实参之间不用加空格)
如果是本地登录,则可以省略-h这一参数
命令: mysql –u<username>-p<password>
这里就用root登录吧:mysql -uroot –pmysql
为了安全起见,最好先键入mysql –uroot –p,再根据提示键入password.
2、 修改密码:需要先退出mysql,进入dos下
格式:mysqladmin –u<username>-p<old_password> password <new_password>
如果没有初始密码,-p参数可以省略
3、 添加用户:先以root登录
格式:grant <operation> on<database>.* to <new_username>@<login_host> identified by<new_password>;
1. 如新添加用户new_user,密码admin,授予对任意数据库中任意表进行增删改查的权限,可在任意主机登录
命令:grantselect,update,delete,insert on *.* to new_user@”%” identified by “admin”;
2. 限定登录主机为本机,数据库为test
命令:grant select,update,delete,inserton test.* to new_user@@localhost identified by “admin”;
3. 取消new_user的密码
命令:grant select,update,delete,inserton test.* to new_user@@localhost identified by “”;
4、连接数据库之后就是基本的操作练习
1. 查看MySQL版本信息和当前日期
命令:selectversion(),current_date();
2. 查看当前用户和现在时间
命令:select user(),now();
3. 查看属于当前用户的数据库(database)
命令:show databases;
4. 选择使用其中的一个数据库
命令:use mysql;
5. 查看当前选择的数据库
命令:select database();
6. 显示当前数据库中所有的表
命令:show tables;
7. 描述一下表信息
命令:desc <table_name>;
8. 创建一个数据库
命令:create database<database_name>
9. 创建表:
命令:同oracle
10.创建表时可以从文件导入,前提是文件中各项数据序列化,和数据库表中各字段一致,字段之间用tab键隔开:
如:数据表的Field有:name, age, sex, birth
文件data.txt中有数据:zhangsan 23 M 1989-05-20
命令:load data local infile “data.txt”into table students;
将文件中的数据导入数据表中。
11.删除数据库
命令:drop database<database>
12.删除数据表
命令:同oracle
13.数据库备份<database>
先用quit退出,命令:mysqldump --opt database_name> database_name.dbb
14.使用批处理:
新建文件batch.sql内容如下:
use database_name;
select *from table_name;
selectname, age, sex, birth from table_name;
在dos下键入mysql < batch.sql查看结果。
15. 分屏显示:
如:mysql < batch.sql | more
16.将结果输出到外部文件
如:mysql < batch.sql >data.txt