mysql常用命令详解大全(一)

与mysql服务器结合在一起进行开发或与mysql数据库协同工作的方法很多,你可使用的最基本的界面程序就是mysql客户机。使用改程序,你可以从命令行界面环境下与服务器进行交互操作。但你的服务器上必须已经安装了mysql,那么就可以使用mysql客户机了。

登陆到mysql命令,在shell提示符中输入:

mysql -h host -u user -p

然后输入用户的密码即可

C:\Users\Administrator>mysql -h localhost -u summer -p
Enter password: ***
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 18
Server version: 5.0.87-community-nt MySQL Community Edition (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

如果你是从本地登陆至mysql(即从服务器本身登陆),或者使用安全的网络连接工具(SSH)远程登录至mysql,则可以省略主机参数-h host 。因为默认主机就是localhost.

在其他环境下,你输入的命令必须经过网络才能到达服务器,此时需要将host参数替换成主机名,此名可以解析成IP地址,或将host替换从mysql服务器的实际IP地址,同时还要用mysql用户名替换user参数。


1、查看数据库所用用户及对应的数据库服务器:

mysql> select user, host
    -> from
    -> mysql.user;
+------+-----------+
| user | host      |
+------+-----------+
| root | localhost |
+------+-----------+
1 row in set (0.00 sec)

2、修改用户密码命令:

mysql> set password for 'root'@'localhost'=password('12345');
Query OK, 0 rows affected (0.00 sec)

3、创建新用户命令:

创建一个用户名为summer,密码为123的新用户。

mysql> create user 'summer'@'localhost' identified by '123';
Query OK, 0 rows affected (0.03 sec)

mysql> select user, host
    -> from
    -> mysql.user;
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | localhost |
| summer | localhost |
+--------+-----------+
2 rows in set (0.00 sec)

4、删除用户命令:

mysql> delete from mysql.user where user='summer';
Query OK, 1 row affected (0.00 sec)


mysql> delete from mysql.db where user='summer';
Query OK, 0 rows affected (0.00 sec)


mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)


mysql> select user,host from mysql.user;
+------+-----------+
| user | host      |
+------+-----------+
| root | localhost |
+------+-----------+
1 row in set (0.00 sec)

前2条语句从mysql数据库的user表和bd表中删除了summer用户,最后一行语句令服务器根据前面的修改重新读取授权

5、创建新用户,并授予指定权限(all为所有权限)给新用户

mysql> create user 'summer'@'localhost' identified by '123';
Query OK, 0 rows affected (0.01 sec)

mysql> grant select on *.* to 'summer'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> greant select on *.* to 'andy'@'localhost' identified by '123';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'grean
t select on *.* to 'andy'@'localhost' identified by '123'' at line 1
mysql> grant select on *.* to 'andy'@'localhost' identified by '123';
Query OK, 0 rows affected (0.00 sec)

mysql> select user,host from mysql.user;
+--------+-----------+
| user   | host      |
+--------+-----------+
| andy   | localhost |
| root   | localhost |
| summer | localhost |
+--------+-----------+
3 rows in set (0.00 sec)

先创建用户再授权和创建用户并授权。

如果想授予更多的权限,可在select后添加其他权限,各个权限用逗号隔开,如果在grant后用all表示授予所用的权限给用户。

其中*.*表示该用户对所用的数据库都用select权限,如果想限制用户的数据库数量,怎样用呢?不太清楚,知道的大神告诉一声

6、创建数据库:

mysql> create database bookstore;
该用户必须拥有创建和修改服务器上数据库所必需的权限。

在windows系统中,对大小写并不敏感,但在linux系统中对大小写是敏感的。

以windows为例,sql语句中比较好的书写规范是:在语句中的命令及保留字都采用大写(这并不是必须的),而数据库名、表名、字段名等采用小写。
一条完整的sql语句可能不止一行,直到输入分号后,客户机程序才将sql语句发送给服务器解析执行。

7、启动已存在的数据库

USE bookstore;
启动数据库后,我们才能对该数据库执行其他操作:创建表,索引,视图等。
8、创建数据库表,并查看表结构

mysql> create table books(
    -> book_id int,
    -> title varchar(50),
    -> author varchar(50) );
Query OK, 0 rows affected (0.43 sec)

mysql> describe books;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| book_id | int(11)     | YES  |     | NULL    |       |
| title   | varchar(50) | YES  |     | NULL    |       |
| author  | varchar(50) | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+
3 rows in set (0.04 sec)

create table 表名(字段1 数据类型,字段2,数据类型)

describe 表名,查看表结构,也可以用desc 表名。
9、修改数据库表

mysql> alter table books
    -> change column book_id book_id int auto_increment primary key,
    -> change column author author_id int,
    -> add column description text,
    -> add column genre enum('novel','poetry','drama'),
    -> add column publisher_id int,
    -> add column pub_year varchar(4),
    -> add column inbn varchar(20);
Query OK, 0 rows affected (0.43 sec)
Records: 0  Duplicates: 0  Warnings: 0

alter table 表名

修改字段:change  column 原字段名 新字段名(即使和原字段相同也要写上)字段类型 【约束条件】auto_increment(任意一个唯一的值分配给表中的每条记录) 、primary key(将字段设置为主键,提高数据检索速度)、 not null、 null....

添加字段:add column 字段名 字段类型

10、显示所用数据库及当前使用的数据库

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| acesys             |
| bookstore          |
| mysql              |
| test               |
+--------------------+
5 rows in set (0.00 sec)

mysql> select database();
+------------+
| database() |
+------------+
| bookstore  |
+------------+
1 row in set (0.00 sec)

mysql数据库包含用户权限和信息

est数据库为用户提供一个测试数据库添加或运行sql语句的场所。

11、显示当前用户

mysql> select user();
+------------------+
| user()           |
+------------------+
| summer@localhost |
+------------------+
1 row in set (0.01 sec)

12、显示当前数据库的所用表

mysql> show tables;
+---------------------+
| Tables_in_bookstore |
+---------------------+
| authors             |
| books               |
+---------------------+
2 rows in set (0.00 sec)

完整语句是:show tables from 数据库名;

在开启数据库时,省略from 数据库,默认使用当前数据库。

13、向数据库的表中添加记录

mysql> insert into authors
    -> (author_last,author_first,country)
    -> values('Greene','Graham','United Kingdom');
Query OK, 1 row affected (0.04 sec)

如同上面列出的那样,标准的insert语法要为每一个插入值指定相应的列,如果想为所用的列添加值,则不需要指定列名,但被添加的数据一定要按表中的列的顺序排序。

该表中的author_id并没有填入values值,但由于author_id采用auto_increment约束,所以自动递增。


下一集预告:mysql最强大的功能,查询语句select.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值