昨天搞数据库把系统搞挂了,今天花费多半天的时间重装了一下,借此总结一下这几天的学习。
挑重点的说。
数据库版本 mysql5.5以上
常用数据库操作命令
create database dataname;
create table tablenamei(属性);
use dataname;
desc tablename;
show create table tablename;
select column from tablename;
delete from tablename;
drop database dataname;
insert into tablename(属性) values(属性值);
insert into test(id,name) values(345,’你好’)
数据库的编码问题
修改配置文件/etc/mysql/my.cnf
[client]
default-character-set = utf8
[mysqld]
character-set-server = utf8
然后重启mysql服务
修改之后如下:
show variables like ‘%character%’;
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
这样重建数据库之后,便可以插入中文
若用python连接要在连接中加入参数,
con = MySQLdb.connect(user = ‘账号’,passwd = ‘密码’,db = ‘数据库名字’,host = ‘localhost’,charset = ‘utf8’)
还有就是外部数据导入的问题,我从网上下了几个数据库的包
对于txt,csv,excel等格式文件可以按如下命令操作
load data infile ‘data.txt’ into table tablename fields terminated by ‘#’ lines terminated by ‘\n’;
注意,我把数据文件放在外面用绝对路径引用却找不到文件,但是把它放到数据库所在的文件下却可以导入,不知道为什么。fields terminated by ‘#’ 是各个字段之间的分隔符,lines terminated 是行与行之间的分隔符.这个命令的导入速度非常快,我用python脚本写的和这个速度上相差太远了