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条的数据了。这次的数据库相关操作就演示到这里了。