[SQL]mysql命令学习备忘

  • 登陆:
>mysql -h 127.0.0.1  -utest -p
-h为主机,可省略
-p为密码,没有密码可省略,如果有密码可以直接跟-u一样跟在后面,但不推荐这样写,因为暴露了密码。
e.g. 以test用户登陆,密码为空
>mysql -utest

====================================================================
  • 退出:
>quit

====================================================================
  • 添加用户:
以root用户登陆,其他用户可能没有权限
>quit
>mysql -uroot -p
>password:******
>insert into user (user,host,password) values ('test','%',password('12345'));//用password函数进行md5运算,不直接把密码明文暴露出来

====================================================================
  • 修改用户权限:
如设置用户test只对数据库test具有某些权限
>grant select,update,insert on test.* to 'test' @'%' identified by '12345';
允许用户test对数据库test具有select ,update, insert权限,@后面跟主机地址,%表示全部,identified by后面跟密码
如要使用户test对数据库test具有全部的读写权限:
>grant all privileges on test.* to 'test' @'%' identified by '12345';
>flush privileges

====================================================================
  • 一些信息查看
>show databases;   //查看所有数据库
>show tables;            //查看所有表
>describe tableName;   //查看某个表的属性,包括各个字段类型等。

====================================================================
  • 切换数据库:
>use dbName;

====================================================================
  • 备份数据库
c:/>mysqldump -utest -p --opt test > d:/test2.sql
PASSWORD:******

====================================================================
  • 修改表名
>alter table t1 rename to t3;
====================================================================
  • INSERT … ON DUPLICATE KEY UPDATE

t1      CREATE TABLE `t1` (                     
          `c1` 
int(4NOT NULL,                 
          `c2` 
int(4default NULL,             
          
PRIMARY KEY  (`c1`)                   
        ) ENGINE
=MyISAM DEFAULT CHARSET=gb2312

原始数据
c1   c2
1    100
2    200

c1是主键,欲插入(1,1),如果已经存在c1=1,则c2自增,(类似于计数器)
INSERT INTO t1 VALUES(11ON DUPLICATE KEY UPDATE c2=c2+1;

执行以上语句后的数据
c1   c2
1    101
2    200

该语句等价于

if(SELECT * FROM t1 WHERE c1=1){
    
UPDATE t1 SET c2=c2+1 WHERE c1=1;
}
else{
    
INSERT INTO t1 (c1, c2) VALUES (11);
}

====================================================================
  • 输出查询结果到本地文件/从本地文件导入数据到table中
mysql> SELECT * INTO OUTFILE 'data.txt'
    ->          FIELDS TERMINATED BY ','
    ->          FROM table2;

要读取由逗号分隔的文件并返回,则正确的语句应该是:

mysql> LOAD DATA INFILE 'data.txt' INTO TABLE table2
    ->           FIELDS TERMINATED BY ',';

====================================================================
  • 查看建表信息
mysql>show describe table sc;
Table   Create Table  
------  -------------------------------------------------------------------
sc      CREATE TABLE `sc`                                  (                                                                                                                                                                                                                                                                               
          `sid` char(10) NOT NULL,                                                                                                                                                                                                                                                                        
          `cid` char(10) NOT NULL,                                                                                                                                                                                                                                                                        
          KEY `sid` (`sid`),                                                                                                                                                                                                                                                                              
          KEY `cid` (`cid`),                                                                                                                                                                                                                                                                              
          CONSTRAINT `sc_ibfk_1` FOREIGN KEY (`sid`) REFERENCES `s` (`sid`),                                                                                                                                                                                                                              
          CONSTRAINT `sc_ibfk_2` FOREIGN KEY (`cid`) REFERENCES `c` (`cid`)                                                                                                                                                                                                                               
        ) ENGINE=InnoDB DEFAULT CHARSET=gb2312        
====================================================================

  • 执行外部.sql 文件
mysql > source F:/b.sql;

====================================================================

  • 结束当前输入
mysql > abcd
            >/c
mysql >

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值