从mysql-connector-java中学习
做过javaweb开发的同学,对mysql的使用一定不陌生。今天,我们来聊一聊jdbc连接mysql。
做过javaweb开发的同学,对mysql的使用一定不陌生。今天,我们来聊一聊jdbc连接mysql。
在写sql的时候我们可能不太注意sql的格式,只要能跑起来就行。但是,这次遇到的问题却是sql格式引起的问题。
在mysql中查看字符集:
show variables like ‘%char%’;
如果database和server都不是utf8,则需要配置mysql的配置文件。
在 /etc/mysql/my.cnf 中,[mysqld]的配置下,添加:
character_set_server=utf8
init_connect='SET NAMES utf8'
重启mysql即可
在创建database时:
CREATE DATABASE IF NOT EXISTS xxxx DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
在java中连接mysql时这样设置:
datasources.url=jdbc:mysql://192.168.1.1:3306/xxxx?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
正常导入:
LOAD DATA LOCAL INFILE ‘xxx.data’
INTO TABLE
dim_department_info
(a,b,c,d)
如果导入的数据中存在与唯一索引冲突的情况则需要以下两种导入方式:
LOAD DATA LOCAL INFILE ‘xxx.data’
IGNORE INTO TABLE
dim_department_info
(a,b,c,d)
如上,如果a,b是有唯一索引,则会忽视c,d
LOAD DATA LOCAL INFILE ‘xxx.data’
REPLACE INTO TABLE
dim_department_info
(a,b,c,d)
如上,如果a,b有唯一索引,则对c,d进行更新。
//首先要安装sqllient库
sudo apt-get install libmysqlclient-dev
//其次安装python-dev
sudo apt-get install python-dev
最后安装python mysql库
sudo pip install MySQL-python