昨天搞数据库把系统搞挂了,今天花费多半天的时间重装了一下,借此总结一下这几天的学习。
挑重点的说。
数据库版本 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,'你好')python
数据库的编码问题
修改配置文件/etc/mysql/my.cnf
[client]
default-character-set = utf8
[mysqld]
character-set-server = utf8
而后重启mysql服务
修改以后以下:
show variables like '%character%';mysql
| 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/ |sql
这样重建数据库以后,即可以插入中文数据库
若用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脚本写的和这个速度上相差太远了编码