昨天搞數據庫把系統搞掛了,今天花費多半天的時間重裝了一下,藉此總結一下這幾天的學習。
挑重點的說。
數據庫版本 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腳本寫的和這個速度上相差太遠了編碼