Linux下MySQL小尝试

  因为我用的linux机器事先已经装好了mysql,所以安装部门就先忽略。

  进入mysql,如果发现没权限的话,使用 mysql -uroot -p 输入密码即可

  

  首先我们使用 create database 数据库名; 来建一个 bryan_test的数据库:

  

  然后使用 show databases; 来查询当前有的数据库,可以看到bryan_test是存在的。

  接下来的操作,我们都是针对这个数据库的,因此我们第一步需要使用 use 数据库名;

  然后再使用建表语句:

create table bryan_test( md5 varchar(16) primary key, eng varchar(256), chi varchar(256), cate varchar(20), url varchar(50), create_time date );

  

  建完表之后,我们就可以使用 show tables; 来查看我们建的表了。

  使用 desc 表名; 就可以看到数据库的字段属性了:

  

  试着插入一条记录看看:

insert into translation values("12ab42cf4632def13",  "hello world", "你好,世界", "计算机用语", "www.testsql.com", '2017/01/12');

  

  插完之后查询一下,使用下面语句:

select * from translation;

  

  顺便再看看如果要更新的话,例如我们要更新cate这一列内容:

update translation set cate="计算机|||日常用语" where eng="hello world";

  

  最后我们看删除:

delete from translation where cate like '%计算机%';

  

  到此为止。增、删、改、查我们已经都学习了。接下来我们看看如何进行批量的插入,首先我们准备一个文件,内容如下:

  

  我们通过shell脚本读取文件中的内容,然后写入到数据库中:

#!/bin/bash

#db相关
username="root"
password="******"
dbname="bryan_test"
tablename="translation"

#数据相关
md5="default"
eng=""
chi=""


# 读取文件
echo "read file"
mysql -u${username} -p${password} -e "use ${dbname};"

while read line
do
    # 删除最后一个|||字符左边的所有字符
    chi=${line##*|||}
    #echo $chi
    
    # 删除第一个|||字符右边的所有字符
    md5=${line%%|||*}
    #echo $md5

    # 先删除最后一个|||右边的所有字符
    tmp=${line%|||*}
    # 再删除第一个|||字符左边的所有字符
    eng=${tmp#*|||}
    #echo $eng
    
    insert_sql="insert into ${tablename} values(\"${md5}\",  \"${eng}\", \"${chi}\", \"计算机用语\", \"www.testsql.com\", '2017/01/12');"
    mysql -u${username} -p${password} ${dbname} -e "${insert_sql}"
    
done < data.txt


mysql -u${username} -p${password} ${dbname} -e "show tables;"

echo "end"

  运行之后,我们就将这些数据插入到了数据库中,我们来查看一下,由于数据较多我们使用 limit 5来查看前三条数据(mysql 没有top这种用法),另外文本太长,我们选择用\G按行垂直显示,命令为:

select * from translation order by md5 limit 5 \G;

  

  可见我们已经导入了至少1w条的数据了。这次的数据库相关操作就演示到这里了。

posted @ 2017-01-12 11:57  胖喵~  Views(280)  Comments(0Edit  收藏  举报