MYSQL常用命令列表

MYSQL常用命令列表

 

1、系统管理

mysql -h主机地址 -u用户名 -p 
连接MYSQL(在mysql/bin)

exit 
退出MYSQL命令

mysqladmin -u用户名 -p旧密码 password新密码 
修改密码(在mysql/bin)

grantselect[insert][,update][,delete]on数据库.*to用户名@localhost("%", 表示任何主机)identifiedby "密码" 
增加用户

mysqldump –u root –p opt数据库名>备份文件名 
备份数据库(在mysql/bin)

mysql –u root –p < batch file (例如备份文件名) 
使用批处理

mysql.server start 
启动服务器

mysql.server stop 
停止服务器

msql.server log


2、查询命令

select version() 
查询版本号

select current_date 
查询当前日期


3、显示命令

show databases 
显示数据库列表

show tables 显示库中的数据表

describe 表名 显示数据表的结构

select * from 表名 显示表中的记录

select what_to_select from which table [whereconditions_to_satisfy and (or) where conditions_to_satisfy] 从一个表中检索数据『满足条件』

select 字段1,字段2,… from 表名 显示特定列的值

select * from 表名 order by 字段名 排序行

select 字段1,包含字段2的运算式as 新字段 from 表名 字段值运算操作

select 字段1 is null(is not null) 空值操作

Select*from表名where字段名like(not like) “ 字符” 
注: 允许使用“_”匹配任何单个字符, 而“%” 匹配任意数目字符 模式匹配

Select * from表名where字段名regexp(not regexp)或者rlike(not rlike) “.”匹配任何单个的字符 一个字符类[…]匹配方框内任何字符。例如[a],[asd],[az] 匹配任何小写字母,[09] 匹配任何数

字。 “*”匹配零个或者多个在它前面的东西。 正则表达式区分大小写[aA] 。 如果它出现在被测试值的任何地方,模式都匹配。 定位,在模式开始处用“^”,结尾处用“$”,例如“^b” 
扩展正则表达式

Select count(*) from 表名 
Select 字段名,count(*) from 表名 group by 字段名 行计数


4、编辑命令

use database 库名 
使用的数据库

create database 库名 
创建数据库

create table 表名 
在数据库中创建表

insert into表名values (“data”,”data”) 
向表中添加记录

Load data infile “/path/filename” intotable 表名 
从文件中向表添加数据, 文件每行包括一条记录, 用定位符(tab) 把值分开。

drop database 库名 
删除数据库

drop table 表名 
删除数据库中的表

delete from表名where 
删除数据库表中的记录

Update表名set字段=”值” wherewhereconditions_to_satisfy 
更新数据库表中记录的值

 

Mysql数据库是一个多用户,多线程的关系型数据库,是一个客户机/服务器结构的应用程序。它是对个人用户和商业用户是免费的.

 

Mysql数据库具有以下优点:

 

1.同时访问数据库的用户的数量不受限制

2.可以保存超过5千万条的记录

3.是目前市场上现有数据库产品中运行速度最快的数据库系统

4.用户权限设置简单、有效。

 

Mysql数据库常用命令:

 

启动Mysql数据库

 

C:/>cd Mysql5.0/bin

C:/Mysql5.0/bin>mysqld –install 安装Mysql服务

C:/Mysql5.0/bin>net start mysql 启动Mysql服务

请求的服务已经启动。

 

连接mysql

用户需要提供Mysql的用户名和密码来连接服务器,如果服务器不是在本机,则还需要一个主机名或IP来指定服务器的位置。

C:/Mysql5.0/bin>mysql -h localhost -u root -p

Enter password: ****

Welcome to the MySQL monitor. Commands end with ; or /g.

Your MySQL connection id is 6 to server version: 5.0.18-nt

 

Type 'help;' or '/h' for help. Type '/c' to clear the buffer.

 

mysql>

使用一条简单的查询语句

 

mysql> select version(),current_date;

mysql> select version();select now();

 

新建或删除一个数据库

 

Mysql>create database mydb;

Mysql> drop database mydb;

 

打开的数据库的命令

 

mysql> use mysql

Database changed

 

查看数据库的命令

 

mysql> show databases;

 

查看数据表的详细结构

 

mysql> desc func;

 

新建数据库

 

mysql> create database school;

Query OK, 1 row affected (0.00 sec)

 

新建表

 

mysql> create table user01(

-> id varchar(20) NOT NULL,

-> userName varchar(10) NOT NULL,

-> age int(11) default'0',

-> sex char(2) NOT NULL default'm',

-> PRIMARY KEY (id)

-> )TYPE=InnoDB;

Query OK, 0 rows affected, 1 warning (0.02 sec)mysql>desc student;

 

插入和删除表中的数据

 

Create table student(stuName varchar(20),age varchar(20),id varchar(20),set0 char(1));

 

插入

 

mysql> insert into student(id,stuName) values('1','tomcat');

Query OK, 1 row affected (0.00 sec)

 

删除

 

mysql> delete from student where id='1';

Query OK, 1 row affected (0.01 sec)

 

删除表中所有数据

 

mysql> truncate table student;

Query OK, 1 row affected (0.01 sec)

 

删除表

 

mysql> create table temp(t varchar(1));

Query OK, 0 rows affected (0.00 sec)

 

mysql> drop table temp;

Query OK, 0 rows affected (0.00 sec)

 

创建新用户并给予权限

 

mysql> grant all privileges on *.* to dbuser@localhost identified by '1234'

with grant option;

 

更改Mysql用户密码

 

c:/Mysql5.0/bin>mysqladmin -u root -p password 1234

Enter password: ****

 

备份数据库及表

 

我们用mysqldump命令来备份数据库

c:/mysql/bin/>mysqldump –u root –p 3306 mysql>d:/backup.sql

执行此语句将把mydb 备份到D盘的backup.sql文件中

 

备份多个数据库表

 

c:/mysql/bin/>mysqldump –u root –p 3306 school user01 user >d:/backup.sql

此句的意思是把school库中的user01表和user表的内容和表的定义备份到D盘backup.sql文件中。

 

备份所有的数据库

 

c:/myql/bin>mysqldump –u root –p 3306 –all –database>d:backup.sql

 

还原Mysql数据库

c:/mysql/bin/mysql –u root –p 3306 school

还原其中的一个表

 

mysql> source d:/books.sql;

ERROR:

Unknown command '/b'.

Query OK, 0 rows affected (0.00 sec)

Query OK, 1 row affected (0.00 sec)

 

退出Mysql连接

 

mysql>quit(exit)

 

关闭mysql服务

 

C:/mysql/bin>net mysql

1、启动MySQL服务器

实际上上篇已讲到如何启动MySQL。两种方法: 一是用winmysqladmin,如果机器启动时已自动运行,则可直接进入下一步操作。 二是在DOS方式下运行 d:mysqlbinmysqld

2、进入mysql交互操作界面

在DOS方式下,运行: d:mysqlbinmysql

出现: mysql 的提示符,此时已进入mysql的交互操作方式。

如果出现 "ERROR 2003: Can′t connect to MySQL server on ′localhost′ (10061)“,

说明你的MySQL还没有启动。

3、退出MySQL操作界面

在mysql>提示符下输入quit可以随时退出交互操作界面:

mysql> quit

Bye

你也可以用control-D退出。


4、第一条命令

mysql> select version(),current_date();

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

| version() | current_date() |

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

| 3.23.25a-debug | 2001-05-17 |

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

1 row in set (0.01 sec)

mysql>

此命令要求mysql服务器告诉你它的版本号和当前日期。尝试用不同大小写操作上述命令,看结果如何。结果说明mysql命令的大小写结果是一致的。

练习如下操作:

mysql>Select (20+5)*4;

mysql>Select (20+5)*4,sin(pi()/3);

mysql>Select (20+5)*4 AS Result,sin(pi()/3); (AS: 指定假名为Result)

5、多行语句

一条命令可以分成多行输入,直到出现分号“;”为止:


bordercolorlight = "black" bordercolordark = "#FFFFFF" align="center"> 

mysql> select 
-> USER() 
-> , 
-> now() 
->; 
+--------------------+---------------------+ 
| USER() | now() | 
+--------------------+---------------------+ 
| ODBC@localhost | 2001-05-17 22:59:15 | 
+--------------------+---------------------+ 
1 row in set (0.06 sec) 
mysql>

注意中间的逗号和最后的分号的使用方法。

6、一行多命令

输入如下命令:

mysql> SELECT USER(); SELECT NOW(); 
+------------------+ 
| USER() | 
+------------------+ 
| ODBC@localhost | 
+------------------+ 
1 row in set (0.00 sec)

+---------------------+ 
| NOW() | 
+---------------------+ 
| 2001-05-17 23:06:15 | 
+---------------------+ 
1 row in set (0.00 sec) 
mysql>

注意中间的分号,命令之间用分号隔开。

7、显示当前存在的数据库

mysql> show databases; 
+----------+ 
| Database | 
+----------+ 
| mysql | 
| test | 
+----------+ 
2 row in set (0.06 sec) 
mysql>

8、选择数据库并显示当前选择的数据库

mysql> USE mysql 
Database changed 
mysql> 
(USE 和 QUIT 命令不需要分号结束。) 
mysql> select database(); 
+---------------+ 
| database() | 
+---------------+ 
| mysql | 
+---------------+ 
1 row in set (0.00 sec)

9、显示当前数据库中存在的表 
mysql> SHOW TABLES;

10、显示表(db)的内容 
mysql>select * from db;

11、命令的取消

当命令输入错误而又无法改变(多行语句情形)时,只要在分号出现前就可以用 c来取消该条命令

mysql> select 
-> user() 
-> c 
mysql

 

1、MySQL常用命令

create database name; 创建数据库
use databasename; 选择数据库
drop database name 直接删除数据库,不提醒
show tables; 显示表
describe tablename; 表的详细描述
select 中加上distinct去除重复字段
mysqladmin drop databasename 删除数据库前,有提示。
显示当前mysql版本和当前日期
select version(),current_date;

2、修改mysql中root的密码:

shell>mysql -u root -p
mysql> update user set password=password(”xueok654123″) where user=’root’;
mysql> flush privileges //刷新数据库
mysql>use dbname; 打开数据库:
mysql>show databases; 显示所有数据库
mysql>show tables; 显示数据库mysql中所有的表:先use mysql;然后
mysql>describe user; 显示表mysql数据库中user表的列信息);

3、grant

创建一个可以从任何地方连接服务器的一个完全的超级用户,但是必须使用一个口令something做这个

mysql> grant all privileges on *.* to user@localhost identified by ’something’ with

增加新用户
格式:grant select on 数据库.* to 用户名@登录主机 identified by “密码”

GRANT ALL PRIVILEGES ON *.* TO monty@localhost IDENTIFIED BY ’something’ WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO monty@”%” IDENTIFIED BY ’something’ WITH GRANT OPTION;

删除授权:

mysql> revoke all privileges on *.* from root@”%”;
mysql> delete from user where user=”root” and host=”%”;
mysql> flush privileges;

 

创建一个用户custom在特定客户端it363.com登录,可访问特定数据库fangchandb

mysql >grant select, insert, update, delete, create,drop on fangchandb.* to custom@ it363.com identified by ‘ passwd’ 

重命名表:

mysql > alter table t1 rename t2;

4、mysqldump

备份数据库

shell> mysqldump -h host -u root -p dbname >dbname_backup.sql

恢复数据库

shell> mysqladmin -h myhost -u root -p create dbname
shell> mysqldump -h host -u root -p dbname < dbname_backup.sql

如果只想卸出建表指令,则命令如下:

shell> mysqladmin -u root -p -d databasename > a.sql

如果只想卸出插入数据的sql命令,而不需要建表命令,则命令如下:

shell> mysqladmin -u root -p -t databasename > a.sql

那么如果我只想要数据,而不想要什么sql命令时,应该如何操作呢?

   mysqldump -T./ phptest driver

其中,只有指定了-T参数才可以卸出纯文本文件,表示卸出数据的目录,./表示当前目录,即与mysqldump同一目录。如果不指定driver 表,则将卸出整个数据库的数据。每个表会生成两个文件,一个为.sql文件,包含建表执行。另一个为.txt文件,只包含数据,且没有sql指令。
5、可将查询存储在一个文件中并告诉mysql从文件中读取查询而不是等待键盘输入。可利用外壳程序键入重定向实用程序来完成这项工作。例如,如果在文件my_file.sql 中存放有查
询,可如下执行这些查询:
例如,如果您想将建表语句提前写在sql.txt中:

mysql > mysql -h myhost -u root -p database < sql.txt

 

转自:http://hi.baidu.com/ashinehan/blog/item/0ed8b2173cb94657f2de326b.html

你可能感兴趣的:(MYSQL常用命令列表)