MySql常用命令总结

PS:MySql常用命令总结

  1. 连接MYSQL

    1. 连接到本机上的MYSQL

              #提示输入密码模式:
              [root@localhost ~]/usr/local/mysql/bin/mysql -P 3306 -uroot -p
              Enter password:
              或者(直接输入密码模式:)
              [root@localhost ~]/usr/local/mysql/bin/mysql -P 3306 -uroot -proot
      
              #进入mysql数据库控制台
              mysql>***;
    2. 连接到远程主机上的MYSQL

              #提示输入密码模式:
              [root@localhost ~]/usr/local/mysql/bin/mysql -h8.8.8.8 -P 3306 -uroot -p
              Enter password:
              或者(直接输入密码模式:)
              [root@localhost ~]/usr/local/mysql/bin/mysql -h8.8.8.8 -P 3306 -uroot -proot
      
              #进入mysql数据库控制台
              mysql>***;
    3. 修改密码

              [root@localhost ~]/usr/local/mysql/bin/mysqladmin -uroot -p(oldpassword) password newpassword
    4. 常用命令

              #显示当前存在的数据库
              mysql> show databases;
              +--------------------+
              | Database           |
              +--------------------+
              | information_schema |
              | mysql              |
              | performance_schema |
              | test               |
              +--------------------+
      
              #进入test数据库#
              mysql> use test;
              Database changed
              mysql> select database();#显示"test"当前选择的数据库
              +------------+
              | database() |
              +------------+
              | test       |
              +------------+
              mysql> show tables;
              #显示"test"数据库中存在的表
              #表名和表的别名是区分大小写的。如果lower_case_table_names为1,MySQL将在存储与查找时将所有的表名转换为小写字母。(从 MySQL 4.0.2 开始,这个选项同样适用于数据库名。)
              #列名与列的别名在所有的情况下均是忽略大小写的。
              +----------------+
              | Tables_in_test |
              +----------------+
              | test1          |
              | test2          |
              +----------------+
              mysql> describe test1;#显示"test1"表的结构(或:show columns from test1;)
              +-------+------------------+------+-----+---------+----------------+
              | Field | Type             | Null | Key | Default | Extra          |
              +-------+------------------+------+-----+---------+----------------+
              | id    | int(11) unsigned | NO   | PRI | NULL    | auto_increment |
              | value | tinyint(1)       | NO   |     | NULL    |                |
              +-------+------------------+------+-----+---------+----------------+
              mysql> exit;#退出mysql命令
              Bye
      
              #进入mysql数据库控制台
              mysql> select version(); #查看MySQL的版本号
              +-----------+
              | version() |
              +-----------+
              | 5.5.19    |
              +-----------+
      
              #查看MySQL的当前日期
              mysql> select current_date();
              +----------------+
              | current_date() |
              +----------------+
              | 2014-03-22     |
              +----------------+
      
              #同时查看MySQL的版本号和当前日期
              mysql> select version(),current_date();
              +-----------+----------------+
              | version() | current_date() |
              +-----------+----------------+
              | 5.5.19    | 2014-03-22     |
              +-----------+----------------+
  2. 数据的备份与恢复:

    1. 导出表

              #导出整个test数据库中的所有表
              [root@localhost  ~]/usr/local/mysql/bin/mysqldump -uroot -proot --opt test > /home/test/test.sql
              #导出整个test数据库中的test1表
              [root@localhost ~]/usr/local/mysql/bin/mysqldump -uroot -proot --opt test  test1 > /home/test/test1.sql
              #导出整个test数据库中的test1,test2表
              [root@localhost ~]/usr/local/mysql/bin/mysqldump -uroot -proot --opt test  test1 test2 > /home/test/test1_test2.sql
    2. 复制表

      完整复制一个表

              #完整复制表结构
              CREATE TABLE new_table LIKE old_table
              #完整复制表结构+表数据
              CREATE TABLE new_table LIKE old_table;
              INSERT INTO new_table SELECT * FROM old_table;
              #不同数据库表之间复制
              CREATE TABLE db2.new_table LIKE db1.old_table;
              INSERT INTO db2.new_table SELECT * FROM db1.old_table;

      不完整复制表

      注意:本方案其实只是把select语句的结果建一个表。所以new_table这个表不会有主键、索引

              #复制整个表
              CREATE TABLE new_table SELECT * FROM   old_table;
              #复制结构,不复制数据
              CREATE TABLE new_table SELECT * FROM old_table where   0;
              #拷贝表中部分字段
              CREATE TABLE new_table SELECT field1,field2 FROM old_table
              #拷贝表中部分字段改名
              CREATE TABLE new_table SELECT id,field1 AS field11, field2 AS field22 FROM old_table
              #拷贝表中一部分数据(WHERE 条件)
              CREATE TABLE new_table SELECT * FROM old_table WHERE LEFT(field1,1) = 's'
              #创建表的同时定义表中的字段信息
              CREATE TABLE new_table(id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY)AS(SELECT * FROM old_table)
    3. 导出数据库

              #导出整个test数据库
              [root@localhost ~]/usr/local/mysql/bin/mysqldump -uroot -proot --databases test > test.sql
              #导出整个test,mysql数据库到test.mysql.sql文件
              [root@localhost ~]/usr/local/mysql/bin/mysqldump -uroot -proot --databases test mysql > test.mysql.sql
              #将所有数据库备份到all-databases.sql文件
              [root@localhost ~]/usr/local/mysql/bin/mysqldump -uroot -proot --all-databases > all-databases.sql
    4. 导入数据库

              #导入上例中通过mysqldump导出的test数据库
              [root@localhost ~]/usr/local/mysql/bin/mysql -uroot -proot < test.sql
    5. 导入单个数据库或单个数据中某张表

              mysql>use test;
              mysql>source test.sql;
  3. 全局使用命令:mysql或mysqldump

    安装好MySQL程序的时候,直接输入命令mysql或mysqldump会发现提示命令不存在,这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令。
    解决方法;

        ln -fs /usr/local/mysql/bin/mysql       /usr/bin
        ln -fs /usr/local/mysql/bin/mysqldump       /usr/bin
  4. 时间戳转换为时间;

        SELECT *,FROM_UNIXTIME(`create_time`,'%Y%m%d %H:%i:%s') FROM `user0`

相关文章
  1. 理解MySQL——索引与优化(转载)
  2. MySQL数据库命名规范及约定
  3. MySQL索引背后的数据结构及算法原理
  4. MySQL数据备份和binlog数据恢复案例分析
  5. mysql binlog详解
  6. MySQL Replication(Master与Slave基本原理及配置)
本站版权
1、本站所有主题由该文章作者发表,该文章作者与尘埃享有文章相关版权
2、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和尘埃的同意
3、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、原文链接:
二维码
Posted in mysql
Comments are closed.