日期:2014-05-16  浏览次数:20761 次

mysql 平时使用遇到的小问题

?

? 经常手动操作数据库、建表、更改和查询数据,脱离DBA发现很多问题自己以前没搞过,慢慢总结下来,持续更新ing!!!!!

?

  1. \G结尾 ERROR:No query specified 问题
    先检查一下是否是写成\G; \G本来就是结尾,再加上;所以才会出错。对了如果还不知道\G是干什么的,那运行下面的sql看一下吧。
    select * from 表名 limit 1\G
    ?
  2. mysql导出数据
    经常遇到需要将sql语句的查询结果保存下来,这个语句就可以了
    mysql -h*** -P3307 -uwork -p***  --default-character=utf8 数据库名 -e"select id from test">test
    ?
  3. mysql自动补全
    ? 用linux的时候想必大家都记住了按tab(自动补全),那mysql有没有自动补全呢?肯定有啊,输入几个字母按下tab,mysql会将表的名字自动补全。有时候大家用的时候没有效果,那是因为没有打开这个功能,打开这个功能的方法暂时我知道有两个。
    (1)编辑mysql的配置文件(
    vim /etc/my.cnf),如果不在这里大家自己找吧,
    在里面增加 ??auto-rehash
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    
    [mysql]
    default-character=utf8
    #这里哦
    auto-rehash
    ?(2)连接mysql的时候加上参数
    例:
    	mysql -u******** -p***** --auto-rehash
  4. 有时候要向数据库中insert或者update数据,数据少得时候手动一下方便,要是成千上万条的话,入过没有好的方式,那就太麻烦了。可以通过下面的命令。sql.year文件里面是需要执行的语句。

    mysql -h服务器  -u用户名 -p密码 --default-character=utf8 -P3306 vipmember  <sql.year 
    ?
  5. 建表的时候指定长度做什么?
    ?我们建表的时候经常指定
    int(2)? ,括号内的数值是显示宽度,用于显示宽度小于指定的列宽度的值时从左侧填满宽度。?
    例如,INT(5) ZEROFILL的列,值4检索为00004。
    ?

?