MySQL基础命令大全

    show databases;
    use dbname; 
    show tables;
 
库操作 
    drop database dbname;
    create database dbname default character set utf8;
 
表操作
    CREATE TABLE tablename ( 
        id int primary key NOT NULL AUTO_INCREMENT, 
        other varchar(10) unique NOT NULL
    )ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
   delete from tablename;
    truncate table tablename;
 
    drop table if exists tablename;
 
表重命名
    alter table oldtbname rename newtbname;
 
显示创表语句 
    show create table tablename;
 
显示列内容 
    use desc tablename; 
    desc dbname.tablename; 
    show columns from dbname.tablename;
 
修改表
    alter table tbname 
        add column_name column_type [not null]; //增加列
        change old_column_name new_column_name column_type; //修改列
        drop column_name; //删除列
 
索引创建与删除
    show index from tbname;//查看索引
    alter table tbname add index index_name(column_name1, column_name2); //添加普通索引
    alter table tbname drop index column_name1;
    alter table tbname add unique(column_name1); //添加唯一索引
    create index index_name on table_name (column_list);
    create unique index index_name on table_name (column_list);
    drop index index_name on table_name;
    alter table table_name drop index index_name;
    alter table table_name drop primary key;
 
实用操作
    insert into table_a(column_1,...) select column_1,... from table_b; //主键检查,已经存在则报错
    insert ignore into table_a(column_1,...) select column_1,... from table_b; //忽略主键,已经存在则跳过
    replace into table_a(column_1,...) select column_1,... from table_b; //忽略主键,已经存在则覆盖
    update table_a a set column_1 = (select column_1 from table_b b where a.id=b.id);
    insert into table_a(column_1,...) value(...) on duplicate key update column_1='',column_2='';
 
 
登陆到mysql 
     在DOS下进入到MySQL的bin目录,执行mysql -u root –p或者mysql -uroot –p 
     输入密码即可
 
修改密码
     在DOS下进入到MySQL的bin目录,执行:
          mysqladmin -uroot -pold password new
 
退出mysql 
     quit或者exit
 
数据库的备份 
     1.导出整个数据库 
          在DOS下进入到MySQL的bin目录,执行mysqldump --no-defaults -u root -p dbname > xxx.sql 
     2.导出一个表 
          类似上面用法:mysqldump -u username -p dbname tablename >  xxx.sql 
     3.导出一个数据结构 
          用法:mysqldump -uroot -p -d –add-drop-table 数据库名>导出文件名 
          **注意: 
          -d表示没有数据 
          –add-drop-table表示在每一个create语句之前添加一个drop table语句 
          此文件,和先前的两个文件比较,该文件里没有插入的数据.
 
数据库的导入
     1.在DOS下进入到MySQL的bin目录,执行mysql -u root -p dbname < filename.sql
     2.进入mysql数据库,create dbname,use dbname,然后执行source xxx.sql
 
显示字符集 
          mysql > show variables like '%char%'; 
     1.查看 MySQL 数据库服务器和数据库字符集。 
          mysql> show variables like '%char%'; 
     2.查看 MySQL 数据表(table) 的字符集。 
          mysql> show table status from sqlstudy_db like '%countries%'; 
     3.查看 MySQL 数据列(column)的字符集。 
          mysql> show full columns from countries; 
      4.查看当前安装的 MySQL 所支持的字符集。 
          mysql> show charset; mysql> show char set;
 
MySQL用户管理与授权
  命令格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"
  权限:select/insert/update/delete/all,多个权限之间用英文逗号隔开。
  数据库:数据库名称,或者使用“*”代替所有数据库。
  登录主机:localhost/具体IP/%,其中“%”代表除localhost之外的所有IP。
  快速参考:
      grant all on database1.* to user1@'%' identified by 'pass';
      grant select on database2.* to user1@'%';
           grant all on database1.* to user2@'localhost' indetified by 'password';
           grant select,insert,update,delete on aaa.* to user_2@localhost identified by "123";
 
show processlist;
       显示系统中正在运行的所有进程,也就是当前正在执行的查询。
 
show table status;
       显示当前使用或者指定的database中的每个表的信息。信息包括表类型和表的最新更新时间
 
show index from table_name;
      显示表的索引
 
重定向(linux使用,相当于将tb1数据导入tb2)
      mysqldump tb1 -uroot -p123456 | mysql tb2 -uroot -p123456
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值