MYSQL基本命令的使用

平时多用的一些基本的mysql命令,开始学习的时候这些都是一点一点积累的,结果弄了好多TXT,现在把他们总结一下,和大家分享分享。还有一些进阶操作,以后在做总结。

1.连接数据库

mysql -h IP -u username -pthepassword;

语句中-h IP可以指定MYSQL的服务器,如果指定服务器为本地(localhost),可以省略该参数。
注:-p与thepassword之间不可以有空格。

2.创建、显示、删除数据库

创建数据库:

CREATE DATABASE  database;

显示数据库:

SHOW DATABASES;

删除数据库:

DROP DATABASE database;

数据库删除后不可恢复,如果进行重命名操作,一般首先备份目标数据库,在新建数据库并导入数据。

3.选择所要操作的数据库

USE database;

执行后出现Database changed提示时,说明操作成功。

语句中database代表所要操作的数据库名。

4.创建、显示、重命名、删除表

创建表:

CREATE TABLE tablename
  (
  column1 data_type,
  column2 data_type,
  .....
  };

显示表:

SHOW TABLES;

重命名表:

RENAME TABLE old_tablename TO new_tablename;

删除表:

DROP TABLE tablename;

5.显示表构成

DESCRIPBE tablename;

该语句可以用来显示表的列名以及各列的数据类型。

6.查询数据

SELECT columni,columnj,... FROM tablename WHERE [columnx = valuex,....][columnx LIKE '%valuex%'] ORDER BY cloumny [desc][asc]

语句中columni,columnj,...表示需要查询显示的列名,如果需要返回所有列可以使用通配符(*)。
语句中表述查询语句的条件时,可以使用精确条件,也可以使用模糊条件。(%)通常表示一个或多个字符。

7.插入数据

INSERT INTO tablename(column1,column2,..) VALUES(data01,data02,..),(data11,data12,..),...;
INSERT INTO tablename SET column1 = value1,column2 = value2,....; 

插入数据有上述两中形式可以使用。使用时注意如果有一些不可留空并且不可自动填充的列,必须在SET后设置相应的值。

8.更新数据

UPDATE tablename SET columni = valuei,columnj = valuej,... WHERE columnx = valuex,....;

在进行数据更新时,符合WHERE条件的可能不只一条记录,此时,会更新所有记录,但是如果需要更新的列包含主键的话,会出现错误,因为主键不允许数据重复。

9.删除数据

DELETE FROM tablename WHERE columnx = valuex,.....

该语句中如果没有设定条件,会删除表中所有记录。

10.为用户设置、修改密码

SET PASSWORD FOR 'username'@'hostname' = PASSWORD('thepassword');

MYSQL的密码是区分大小写的,在实际引用密码之前的PASSWORD术语告诉MYSQL要对这个字符串进行加密。并且在PASSWORD与左括号之间不能有任何空白字符。

11.创建用户和设置权限

GRANT privileges ON database.* TO 'username'@'hostname' IDENTIFIED BY 'password';

该语句的privileges部分可以列出下表权限,或者通过使用ALL来指定所有权限

该语句的database.*部分指出了用户可以使用哪个数据库或表。可以使用database.tablename这样的语法来指定表的名字。或者使用*.*来指定所有的数据库。

用户名最大长度为16个字节。不可以使用空格且区分大小写。
密码没有长度限制,但是区分大小写。省略IDENTIFIED BY 'password'子句可以不要求用户输入密码。

可以选择将用户限制在特定的主机名上,用户名或者是运行有MYSQL服务器的计算机名(常用localhost),或者是用户访问服务器时所在的计算机名。其值甚至可以是IP地址。要制定任意主机,可以在主机命中使用通配符(%)。

例如创建一个对数据库只有一个基本访问权限的用户

GRANT SELECT,INSERT,UPDATE,DELETE ON ISCC.* TO'isclab'@'202.204.80.166';

修改用户权限时的语句与创建用户的语句相同。

FLUSH PRIVILEGES

运行该语句就是MYSQL重置其可以接受的用户和权限列表。

12.数据库备份与还原
备份语句:

mysqldump -h IP -u username -pthepassword database  > filename.sql

语句中-h IP可以指定MYSQL的服务器,如果指定服务器为本地,可以省略该参数。
语句中所使用的username/thepassword必须有备份数据库的权限。
语句中的filename.sql可以是指定文件保存的绝对地址或相对地址。
还原语句:

mysql -u username -pthepassword database < filename.sql

该语句中参数与备份语句中参数含义相同。

13.已知root密码时修改密码的两种方法

使用mysql的提供的程序:

mysqladmin -u username -pold_password password old_password

命令行修改

UPDATE mysql.user SET password = PASSWORD('thepassword') where user = 'root';

14.暴力修改root密码

首先停止MYSQL服务,打开一个命令行窗口并执行:

mysqld-nt --skip-grant-tables &

再打开一个命令行窗口并执行:

mysql mysql
>UPDATE user SET password = PASSWORD('thepassword') where user = 'root';

这时候root的密码就设置为thepassword了。再次启动MYSQL服务即可。

注:这里是以windows环境为例,在linux下将mysqld-nt换为mysqld_safe即可。

 

转载请注明出处:http://blog.csdn.net/xkjcf

你可能感兴趣的:(MYSQL基本命令的使用)