`
gaojingsong
  • 浏览: 1182924 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【Mysql 常用高级命令(二)】

 
阅读更多

1、mysql服务的启动和停止(Windows下面)

 net stop mysql 

 net start mysql 

 

2、显示当前数据库服务器中的数据库列表:

mysql> SHOW DATABASES;

注意:mysql库里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。

 

3、显示数据库中的数据表:

mysql> USE 库名;

mysql> SHOW TABLES;

 

 

4、显示数据表的结构:

mysql> DESCRIBE 表名;

 

获取表结构方案二

命令: desc 表名,或者show columns from 表名

例子:

mysql> describe MyClass

mysql> desc MyClass;

mysql> show columns from MyClass;

 

5、删除数据库:

mysql> DROP DATABASE 库名;

 

 

6、删除数据表:

mysql> DROP TABLE 表名;

 

7、查看mysql版本

select version();

 

8、将表中记录清空:

mysql> DELETE FROM 表名;

或者

teuncate table 表名

(两者有何区别呢?)

 

 

9、用文本方式将数据装入数据表中:

mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE 表名;

 

10、导入.sql文件命令:

mysql> USE 数据库名;

mysql> SOURCE d:/mysql.sql;

 

 

11、命令行修改root密码:

mysql> UPDATE mysql.user SET password=PASSWORD('新密码') WHERE User='root';

mysql> FLUSH PRIVILEGES;

 

12、显示use的数据库名:

mysql> SELECT DATABASE();

 

13、显示当前的user:

mysql> SELECT USER();

 

14.导出整个数据库

 

1)导出文件默认是存在mysql\bin目录下

  mysqldump -u 用户名 -p 数据库名 > 导出的文件名

  mysqldump -u user_name -p123456 database_name > outfile_name.sql

2)导出一个表

  mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名

  mysqldump -u user_name -p database_name table_name > outfile_name.sql

 

 

15、从外部文件导入数据库中

1)使用“source”命令

    首先进入“mysql”命令控制台,然后创建数据库,然后使用该数据库。最后执行下面操作。

    mysql>source [备份文件的保存路径]

 

2)使用“<”符号

    首先进入“mysql”命令控制台,然后创建数据库,然后退出 MySQL,进入 DOS 界面。最后执行下面操作。

     mysql -u root –p < [备份文件的保存路径]

 

16、在表中增加字段

命令:alter table 表名 add 字段 类型 其他;

例如:在表 MyClass 中添加了一个字段 passtest,类型为 int(4),默认值为 0

mysql> alter table MyClass add passtest int(4) default '0'

 

17、更改表名

命令:rename table 原表名 to 新表名;

例如:在表 MyClass 名字更改为 YouClass

mysql> rename table MyClass to YouClass;

 

 

18、调用存储过程

mysql> CALL procedureName(paramentList);

例:mysql> CALL addMoney(12, 500);

 

 

19、查看特定数据库的存储过程

方法一:mysql> SELECT `name` FROM mysql.proc WHERE db = 'your_db_name' AND `type` = 'PROCEDURE';

方法二:mysql> show procedure status;

 

20、删除存储过程

mysql> DROP PROCEDURE procedure_name;

mysql> DROP PROCEDURE IF EXISTS procedure_name;

 

 

21、查看指定的存储过程定义

 

mysql> SHOW CREATE PROCEDURE proc_name;

 

mysql> SHOW CREATE FUNCTION func_name;

 

 

22. 当计算器用

select ((4 * 4) / 10 ) + 25; 

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

| ((4 * 4) / 10 ) + 25 | 

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

|                26.60 | 

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

1 row in set (0.00 sec) 

 

 

 

22、FROM_UNIXTIME( unix_timestamp ) 

参数:通常是壹个十位的数字,如:1344887103 

返回值:有两种,可能是类似 'YYYY-MM-DD HH:MM:SS' 这样的字符串,也有可能是类似于 YYYYMMDDHHMMSS.uuuuuu 这样的数字,具体返回什么取决于该函数被调用的形式。

mysql> select FROM_UNIXTIME(1344887103);  

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

| FROM_UNIXTIME(1344887103) |  

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

| 2012-08-14 03:45:03       |  

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

1 row in set (0.00 sec)  

 

23、FROM_UNIXTIME( unix_timestamp ,format ) 

参数 unix_timestamp :与方法 FROM_UNIXTIME( unix_timestamp ) 中的参数含义一样; 

参数 format : 转换之后的时间字符串显示的格式; 

返回值:按照指定的时间格式显示的字符串;

mysql> select FROM_UNIXTIME(1344887103,'%Y-%M-%D %h:%i:%s');  

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

| FROM_UNIXTIME(1344887103,'%Y-%M-%D %h:%i:%s') |  

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

| 2012-August-14th 03:45:03                     |  

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

1 row in set (0.00 sec)  

mysql> select FROM_UNIXTIME(1344887103,'%Y-%m-%D %h:%i:%s');  

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

| FROM_UNIXTIME(1344887103,'%Y-%m-%D %h:%i:%s') |  

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

| 2012-08-14th 03:45:03                         |  

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

  

1 row in set (0.00 sec)  

 

 

 

MySQL 数据库中日期与时间函数 FROM_UNIXTIME(), UNIX_TIME()

24、UNIX_TIMESTAMP()

返回值:当前时间的UNIX格式数字串,或者说是 UNIX 时间戳(从 UTC 时间'1970-01-01 00:00:00'开始的秒数),通常为十位,如 1344887103。

mysql> select unix_timestamp();  

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

| unix_timestamp() |  

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

|       1344887103 |  

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

1 row in set (0.00 sec)  

 

 

25、UNIX_TIMESTAMP( date ) 

参数:date 可能是个 DATE 字符串,DATETIME 字符串,TIMESTAPE 字符串,或者是一个类似于 YYMMDD 或者 YYYYMMDD 的数字串。 

返回:从 UTC 时间'1970-01-01 00:00:00'开始到该参数之间的秒数。服务器将参数 date 解释成当前时区的壹个值并且将其转化成 UTC 格式的内部时间。客户端则可以自行设置当前时区。当 UNIX_TIMESTAMP() 用于壹个 TIMESTAMP 列时,函数直接返回内部时间戳的值;如果你传递壹个超出范围的时间到 UNIX_TIMESTAMP(),它的返回值是零。

mysql> SELECT UNIX_TIMESTAMP();  

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

| UNIX_TIMESTAMP() |  

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

|       1344888895 |  

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

1 row in set (0.00 sec)  

  

mysql> SELECT UNIX_TIMESTAMP('2012-08-14 16:19:23');  

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

| UNIX_TIMESTAMP('2012-08-14 16:19:23') |  

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

|                            1344932363 |  

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

1 row in set (0.00 sec)  

 

注意:如果你使用 UNIX_TIMESTAMP() 和 FROM_UNIXTIME() 来转换 TIMESTAMP 值与 Unix 时间戳的值,精度会丢失,因为这个映射在两个方向上不是一一对应的。比如说,由于本地时区的更改,有可能两个 UNIX_TIMESTAMP() 会映射到同壹个 Unix 时间戳的值。 FROM_UNIXTIME() 只会映射到原来的那个时间戳的值上。这里有个例子,在 CET 时区使用 TIMESTAMP:

mysql> SELECT UNIX_TIMESTAMP('2005-03-27 03:00:00');  

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

| UNIX_TIMESTAMP('2005-03-27 03:00:00') |  

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

|                            1111885200 |  

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

mysql> SELECT UNIX_TIMESTAMP('2005-03-27 02:00:00');  

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

| UNIX_TIMESTAMP('2005-03-27 02:00:00') |  

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

|                            1111885200 |  

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

mysql> SELECT FROM_UNIXTIME(1111885200);  

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

| FROM_UNIXTIME(1111885200) |  

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

| 2005-03-27 03:00:00       |  

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

 

 

 

 

26. DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。

 

DATE_FORMAT(date,format)  

可以使用的格式有:

格式 描述

%a 缩写星期名

%b 缩写月名

%c 月,数值

%D 带有英文前缀的月中的天

%d 月的天,数值(00-31)

%e 月的天,数值(0-31)

%f 微秒

%H 小时 (00-23)

%h 小时 (01-12)

%I 小时 (01-12)

%i 分钟,数值(00-59)

%j 年的天 (001-366)

%k 小时 (0-23)

%l 小时 (1-12)

%M 月名

%m 月,数值(00-12)

%p AM 或 PM

%r 时间,12-小时(hh:mm:ss AM 或 PM)

%S 秒(00-59)

%s 秒(00-59)

%T 时间, 24-小时 (hh:mm:ss)

%U 周 (00-53) 星期日是一周的第一天

%u 周 (00-53) 星期一是一周的第一天

%V 周 (01-53) 星期日是一周的第一天,与 %X 使用

%v 周 (01-53) 星期一是一周的第一天,与 %x 使用

%W 星期名

%w 周的天 (0=星期日, 6=星期六)

%X 年,其中的星期日是周的第一天,4 位,与 %V 使用

%x 年,其中的星期一是周的第一天,4 位,与 %v 使用

%Y 年,4 位

%y 年,2 位

 

实例

下面的脚本使用 DATE_FORMAT() 函数来显示不同的格式。我们使用 NOW() 来获得当前的日期/时间:

DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p')  

DATE_FORMAT(NOW(),'%m-%d-%Y')  

DATE_FORMAT(NOW(),'%d %b %y')  

DATE_FORMAT(NOW(),'%d %b %Y %T:%f')  

 

27、显示进程/杀掉进程

mysql> show processlist; 

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

| Id | User | Host | db | Command | Time| State | Info 

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

|207|root |192.168.0.20:51718 |mytest | Sleep | 5 | | NULL 

|208|root |192.168.0.20:51719 |mytest | Sleep | 5 | | NULL 

|220|root |192.168.0.20:51731 |mytest |Query | 84 | Locked | 

select bookname,culture,value,type from book where id=001 

先简单说一下各列的含义和用途,第一列,id,不用说了吧,一个标识,你要kill一个语句的时候很有用。user列,显示单前用户,

如果不是root,这个命令就只显示你权限范围内的sql语句。host列,显示这个语句是从哪个ip的哪个端口上发出的。呵呵,可以用来追踪出问题语句的用户。

db列,显示这个进程目前连接的是哪个数据库。command列,显示当前连接的执行的命令,一般就是休眠(sleep),查询(query),连接(connect)。time列,

此这个状态持续的时间,单位是秒。state列,显示使用当前连接的sql语句的状态,很重要的列,后续会有所有的状态的描述,请注意,

state只是语句执行中的某一个状态,一个sql语句,已查询为例,可能需要经过copying to tmp table,Sorting result,Sending data等状态才可以完成,info列,

显示这个sql语句 

 

如果你在一个容量大的表中执行增删改字段或执行一个复杂的sql 查询导致mysql线程挂起.可用此命令查看出是哪些sql挂起,用kill命令把他K掉 

 

kill命令使用方法 

 

kill pid 

 

如上例中我们想kill掉id为207的线程则执行 

 

kill 207即可.

 

 

28、Mysql 查看进程SQL

SELECT * FROM information_schema.PROCESSLIST

WHERE info IS NOT NULL

ORDER BY TIME desc,state,INFO;

0
8
分享到:
评论

相关推荐

    MySQL常用命令查询集锦

    以上内容仅是MySQL命令的简要介绍,实际操作中还有许多其他高级功能和选项,如索引、视图、触发器、存储过程等,需要根据具体需求深入学习。掌握这些基本命令,能帮助你有效地管理和维护MySQL数据库。

    mysql中文手册及常用命令

    本文将深入探讨MySQL的中文手册以及常用命令,帮助初学者和经验丰富的开发者更好地理解和操作MySQL。 首先,"MySQL中文手册.chm"是MySQL的中文版官方文档,它包含了MySQL的所有特性和功能的详细解释,是学习和查询...

    MySQL数据库常用命令大全.pdf

    了解并熟练掌握MySQL的常用命令对于管理和操作数据库至关重要。以下是一些主要的MySQL命令及其详细说明: 1. **连接MySQL**: 使用`mysql -h 主机地址 -u 用户名 -p用户密码`来连接MySQL服务器。例如,连接本地...

    操作mysql数据库的常用命令总结

    以下是一些关于操作MySQL数据库的常用命令的详细说明: 1. **连接MySQL**:使用`mysql -u 用户名 -p`命令可以连接到MySQL服务器,其中`-u`指定用户名,`-p`会提示输入密码。例如,连接名为root的用户,命令是`mysql...

    MySQL常用命令汇总.rar

    以上仅是MySQL常用命令的一部分,实际操作中还有更多高级功能,如视图、存储过程、触发器、索引、事务处理等。通过深入学习和实践,你可以更高效地管理和维护MySQL数据库。在“MySQL常用命令汇总.pdf”文件中,应有...

    MySQL常用命令.doc

    以下是一些关于MySQL常用命令的详细说明: 1. **创建和管理数据库**: - `create database name;` 用于创建一个新的数据库,name是数据库的名称。 - `use databasename;` 用于切换到指定的数据库。 - `drop ...

    MySQL5.0常用命令.rar

    这份"MySQL5.0常用命令"教程可能包含了一系列用于管理数据库、查询数据、创建表结构以及执行其他数据库操作的关键命令。 首先,让我们了解一下MySQL的基本操作。在命令行界面中,你需要启动MySQL服务并登录到特定的...

    MySql常用查询命令操作大全

    以下是一些MySQL中的常用查询命令操作: 1. **查看版本信息**: - `mysql&gt; select version();` 可以用来查看MySQL服务器的版本号。 2. **获取当前日期**: - `mysql&gt; select current_date();` 或者 `SELECT ...

    MySQL 常用命令大全整理 chm 格式

    这个"MySQL 常用命令大全整理 chm 格式"文档将涵盖以上及更多细节,包括事务处理、视图、存储过程、触发器等高级功能。对于MySQL初学者和进阶用户来说,这是一个宝贵的参考资料,有助于提升数据库管理技能。通过深入...

    mysql常用命令大全 mysql常用命令总结.rar

    以下是一些MySQL常用命令的详细说明: 1. **创建数据库**: - `CREATE DATABASE`: 用于创建新的数据库。例如,`CREATE DATABASE mydb;` 创建名为`mydb`的数据库。 2. **选择数据库**: - `USE`: 用于切换到指定...

    LINUX下MySQL常用操作命令学习

    学习并掌握MySQL的常用操作命令对于系统管理员和开发者来说至关重要。以下是一些基本的MySQL命令及其使用: **一、安装连接MySQL** 首先,你需要检查MySQL是否已经安装在你的Linux系统上。可以使用`rpm -qa | grep...

    mysql常用的命令集

    以下是一些常用的 MySQL 命令的详细说明: **一、MySQL 服务的启动与停止** - `net stop mysql`:这个命令用于停止 MySQL 服务。 - `net start mysql`:这个命令用于启动 MySQL 服务。 **二、数据库操作** - **...

    mysql常用基本命令

    以下是一些MySQL常用的基本命令,它们是理解和操作MySQL数据库的基础。 1. **连接MySQL服务器** 使用`mysql -u username -p`命令连接到MySQL服务器,其中`username`是你的用户名。系统会提示输入密码,输入后即可...

    MySQL常用命令汇总.pdf

    以下是从给定的文件内容中提炼的关于MySQL常用命令的知识点。 1. 数据库的显示与创建 - `show databases;`:显示当前MySQL服务器中所有的数据库。 - `create database name;`:创建一个新的数据库,其中`name`代表...

    MySql常用命令.docx

    对于初学者来说,了解和掌握一些基本的MySQL命令是至关重要的。以下是一些关键的MySQL命令及其用途: 1. **创建数据库**: - `CREATE DATABASE name;` 用于创建一个新的数据库。例如,`CREATE DATABASE MyDatabase...

    MySQL常用命令大全.pdf

    对于任何数据库管理员或开发者来说,熟悉MySQL的常用命令是至关重要的。下面我们将详细探讨在标题和描述中提到的一些基本命令。 1. `mysql` 命令: `mysql` 用于连接到MySQL服务器。基本语法是 `mysql -h 主机地址...

    mysql命令大全chm版

    MySQL 常用命令大全整理 chm 格式,由Word整理而来。收集的连接MYSQL、修改数据库密码、增加用户、基本查询、高级查询等常用的MYSQL命令集,放在手边,当命令记不清的时候翻出来看一看,为你节省时间。

    LINUX全套、MYSQL、LINUX命令

    都是基础自学的好的东西,LINUX全套、MYSQL、LINUX命令。 本资料共包含: Linux运维从入门到高级全套案例v3.pdf MySQL整理_王书彬-201508010.pdf 运维常用linux命令1.pdf

    MySql 常用命令集

    MySQL是一种广泛使用的开源关系型数据库管理系统,其命令行操作是管理数据库的重要方式。以下是一些常用的MySQL命令: ...在实际操作中,根据具体需求,还可以结合其他高级命令和选项进行更复杂的操作。

Global site tag (gtag.js) - Google Analytics