• MYSQL常用命令


    #简单描述表结构,字段类型

    desc tabl_name;

    显示表结构,字段类型,主键,是否为空等属性,但不显示外键。

    例如:desc table_name

    #查询表中列的注释信息

    select * from information_schema.columns
    where table_schema = 'db' #表所在数据库
    and table_name = 'tablename' ; #你要查的表

    #只查询列名和注释
    select column_name, column_comment from information_schema.columns where table_schema ='db' and table_name = 'tablename' ;

    #查看表的注释
    select table_name,table_comment from information_schema.tables where table_schema = 'db' and table_name ='tablename'

    #查看表生成的DDL

    show create table table_name;

    这个命令虽然显示起来不是太容易看, 这个不是问题可以用G来结尾,使得结果容易阅读;该命令把创建表的DDL显示出来,于是表结构、类型,外键,备注全部显示出来了。

    我比较喜欢这个命令:输入简单,显示结果全面。

    #补充一些可能用到的命令:

    建表命令:
    CREATE TABLE `t_sold_order` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `dt` date DEFAULT NULL COMMENT '日期',
    `hour` tinyint(2) DEFAULT '0' COMMENT '小时',
    `hour_order` int(11) DEFAULT '0' COMMENT '小时订单数',
    `total_order` int(11) DEFAULT '0' COMMENT '总的订单数',
    `prediction` int(11) DEFAULT '0' COMMENT '预测订单数',
    PRIMARY KEY (`id`),
    UNIQUE KEY `dt_hour` (`dt`,`hour`)
    ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='实时订单数'

    表操作命令:
    复制表结构:create table table1 like table;
    复制数据:insert into table1 select * from table

    机器授权:
    grant select on *.* to 'reader'@'%' identified by '123456' WITH GRANT OPTION
    flush privileges

    查询数据直接插入
    insert into t_visual_user_domain(`user_id`,`domain`,`group`) select id,'www.baidu.com' as domain,`group` from t_visual_user;

    修改表结构
    alter table competitor_goods add sku_id bigint(20) unsigned DEFAULT NULL COMMENT '商品销售码';

    # 查看所有的库
    > show databases;


    # 查看数据库编码格式
    > show variables like '%char%';
    #查看创建数据库的SQL语句
    > show create database db_nameG
    # 创建数据库
    > create database db_name;
    # 切换库
    > use db_name;
    #查看当前所在的库
    > select database();
    # 删除库
    > drop database db_name;

    #执行mysql脚本:

    >source /xxx/xxx/x.sql

    把它备份在了当前目录下

    mysqldump -u root -p databasename > databasenamebackup.sql

    还原数据库

    mysqldump -u root -p databasename < databasenamebackup.sql

    备份MySQL数据库的命令

    mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql

    备份MySQL数据库为带删除表的格式
    备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。

    mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql

    直接将MySQL数据库压缩备份

    mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz

    备份MySQL数据库某个(些)表

    mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql

    同时备份多个MySQL数据库

    mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.sql

    仅仅备份数据库结构

    mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql

    备份服务器上所有数据库

    mysqldump –all-databases > allbackupfile.sql

    还原MySQL数据库的命令

    mysql -hhostname -uusername -ppassword databasename < backupfile.sql

    还原压缩的MySQL数据库

    gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename

    将数据库转移到新服务器

    mysqldump -uusername -ppassword databasename | mysql –host=... -C databasename

    备份与还原mysql 数据库的常用命令。

  • 相关阅读:
    demo04-默认标签
    demo03-段落标签
    demo02-标题标签
    demo01-注释标签
    前端基础介绍
    xadmin的详细使用
    设置Linux环境变量中文显示乱码
    ES应用
    HTTP协议
    jboss
  • 原文地址:https://www.cnblogs.com/wangboyu/p/11772838.html
Copyright © 2020-2023  润新知