MySQL的基本应用

类别:Java 点击:0 评论:0 推荐:

1.更新服务器

对于将MySQL安装为服务的,先使用net stop MySQL,如果没有将MySQL安装为服务,可以使用c:\mysql\bin\mysqladmin –u root shutdown来停止服务,而后安装新的服务器软件。

 

2.连接服务器

shell> mysql -h host_name -u user_name -pyour_pass

Enter password: ********

-h选项表示连接的主机

-u选项表示连接的用户

-p选项表示输入密码,注意如果在这里输入密码,应该无空格,直接跟在参数之后,否则,表示的是连入后欲打开的数据库

在安装完系统之后,你第一次连接只能在本机使用,这时可以省略-h host,同时这时没有其他的用户建立,所以用户名是缺省的root用户。

 

3.数据库的操作

(1)创建数据库

mysql> CREATE DATABASE liuyan;

如示例,我们创建数据库liuyan,同时可见,我们使用分号结束命令,表示命令输入完毕可以执行。

 

(2)显示数据库

mysql> SHOW DATABASES;

+----------+

| Database |

+----------+

| liuyan   |

| mysql    |

| test     |

+----------+

这时我们可以看见我们创建的数据库已经存在在列表中。

 

(3)打开数据库

mysql> USE liuyan

Database changed

使用USE命令打开数据库,注意的是,这里我们没有输入分号结尾,其实输入分号结果也是一样的。

 

4.表的操作

(1)创建数据表

mysql> CREATE TABLE liuyan_temp (

    ->   id int(6) NOT NULL auto_increment,

    ->   url varchar(100) default '#',

    ->   ip varchar(20) default NULL,

    ->   email varchar(50) default '#',

    ->   qq varchar(20) default NULL,

    ->   sj varchar(30) default NULL,

    ->   content text,

    ->   xm varchar(20) default '没有姓名',

    ->   KEY id (id)

    -> ) TYPE=MyISAM;

Query OK, 0 rows affected (0.20 sec)

 

(2)显示数据表

mysql> show tables;

+------------------+

| Tables_in_liuyan |

+------------------+

| liuyan_temp      |

+------------------+

1 row in set (0.00 sec)

使用show tables命令显示打开数据库中的表清单。

 

(3)显示数据表的结构

mysql> describe liuyan_temp;

+---------+--------------+------+-----+----------+----------------+

| Field   | Type         | Null | Key | Default  | Extra          |

+---------+--------------+------+-----+----------+----------------+

| id      | int(6)       |      | MUL | NULL     | auto_increment |

| url     | varchar(100) | YES  |     | #        |                |

| ip      | varchar(20)  | YES  |     | NULL     |                |

| email   | varchar(50)  | YES  |     | #        |                |

| qq      | varchar(20)  | YES  |     | NULL     |                |

| sj      | varchar(30)  | YES  |     | NULL     |                |

| content | text         | YES  |     | NULL     |                |

| xm      | varchar(20)  | YES  |     | 没有姓名 |                |

+---------+--------------+------+-----+----------+----------------+

8 rows in set (0.04 sec)

使用describe命令显示指定表的结构。

 

(4)输入数据

mysql> LOAD DATA LOCAL INFILE 'liuyan.txt' INTO TABLE liuyan_temp

    -> LINES TERMINATED BY '\r\n';

示例直接从文件liuyan.txt中导入数据表中的内容,另外,我们也可以通过insert into语句来插入数据

mysql> insert into liuyan_temp(url,ip,email,qq,sj,content,xm) values

    -> ('http://jinjohn.myrice.com',

    ->  '127.0.0.1',

    ->  '[email protected]',

    ->  '19151579',

    ->  '2004-10-05',

    ->  '',

    ->  'jinjohn');

 

5.用户的操作

(1)查询现有的用户

mysql> use mysql;

mysql> SELECT * FROM user;

下例要求显示所有的用户及其可登录的计算机

mysql> select user,host from user;

+-------+-----------+

| user  | host      |

+-------+-----------+

| admin | %         |

|       | build     |

| root  | build     |

|       | localhost |

| root  | localhost |

+-------+-----------+

5 rows in set (0.01 sec)

 

(2)修改用户密码

mysql> SET PASSWORD FOR 'abe'@'host_name' = 'eagle';

mysql> SET PASSWORD FOR 'abe'@'host_name' = PASSWORD('eagle');

mysql> SET PASSWORD FOR 'some_user'@'some_host' = OLD_PASSWORD('mypass');

 

(3)增加用户

有二种方式,一种为使用insert into命令来添加用户,另一种为使用grant命令来添加用户,前提是登录的用户必须具有对MYSQL库的读写权限,缺省情况下root@localhost具有所有权限

方法一:使用inset命令向user表中添加记录

shell> mysql --user=root mysql

以root用户身份登录mysql数据库

mysql> INSERT INTO user

    -> VALUES('localhost','monty',PASSWORD('some_pass'),

    -> 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');

向user表添加用户monty在本机的登录帐号及权限。

mysql> INSERT INTO user

    -> VALUES('%','monty',PASSWORD('some_pass'),

    -> 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');

向user表添加用户monty在所有机器上都可以登录的帐号及权限。

mysql> INSERT INTO user SET Host='localhost',User='admin',

    -> Reload_priv='Y', Process_priv='Y';

向user表添加用户admin在本机登录的帐号。

mysql> INSERT INTO user (Host,User,Password)

    -> VALUES('localhost','dummy','');

向user表添加用户dummy在本机登录帐号的用户名和密码。

mysql> FLUSH PRIVILEGES;

提交更改,使其应用于系统中。

 

方法二,使用GRANT命令

mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'

    -> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;

mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'

    -> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;

mysql> GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost';

mysql> GRANT USAGE ON *.* TO 'dummy'@'localhost';

下例授予用户david在一组计算机中登录的所有访问权限。

mysql> GRANT ALL PRIVILEGES ON db.*

    -> TO david@'192.58.197.0/255.255.255.0';

数据库的访问权限主要分SELECT、INSERT、UPDATE和DELETE。

 

(4)显示用户所拥有的权限

mysql> SHOW GRANTS FOR 'bob'@'pc84.example.com';

 

6.退出

mysql> quit

 

本文地址:http://com.8s8s.com/it/it14263.htm