显示标签为“MySQL”的博文。显示所有博文
显示标签为“MySQL”的博文。显示所有博文

2019年1月17日星期四

mac安装mysql

参考https://gist.github.com/operatino/392614486ce4421063b9dece4dfe6c21

Install brew services first : $ brew tap homebrew/services

Load and start the MySQL service : $ brew services start mysql@5.7
Expected output : Successfully started mysql (label: homebrew.mxcl.mysql)

Check of the MySQL service has been loaded : $ brew services list

Force link 5.7 version - $ brew link mysql@5.7 --force

Verify the installed MySQL instance : $ mysql -V

安装完成后mysql配置读取顺序默认为:/etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf

找到相应的文件,修改配置,然后brew services restart mysql@5.7

2018年6月14日星期四

sqlalchemy 设置 mysql 表的默认字符集

在类中设置 __table_args__ 即可,见下面的代码示例:

from sqlalchemy import Column, Integer, String
class User(BaseModel):
__tablename__='users'
__table_args__={
"mysql_engine":"InnoDB",   # 表的引擎
"mysql_charset":"utf8mb4"   # 表的编码格式
}
id=Column("id",Integer,primary_key=True,autoincrement=True)
name=Column("name",String(50),nullable=False)
age=Column("age",Integer,default=0)

2016年11月10日星期四

2016年4月6日星期三

MySQL解析JSON数据

参考:https://segmentfault.com/a/1190000003941100

1、数据量不大的情况下可以直接使用linux中管道符提取出对应的字段存为另一个文件,然后load进mysql中。
数据格式如下:{"category":"热销菜品","name":"盐酥菇"}
我只要取name字段:
cat dish_name.info | sed 's/.*"name":"\(.*\)".*/\1\tnot_found/g' > dish_name.temp

2、使用common-schema
下载了common_schema-2.2.sql之后,有两种方法安装:
Within MySQL, issue:
mysql> SOURCE '/path/to/common_schema.sql';

From shell, execute:
bash$ mysql < /path/to/common_schema.sql

mysql --local-infile -u root -p 进入mysql:

mysql> create table temp(a varchar(255));
mysql> load data local infile '/home/dish_name_info' into table temp;
mysql> select common_schema.extract_json_value(temp.a, '/name') from temp;

可以使用该方法取到name中的结果,然后将结果写进新的表中。