Mac中安装mariadb

1、

brew update

2、

brew install mariadb

3、执行:

unset TMPDIR
mysql_install_db

4、启动

mysql.server start

5、使用

mysql -uroot
>create database xxxxx

#查看数据库编码
>use xxxxx
>show variables like 'character_set_database';

6、实例:
1)插入数据

#coding=utf-8
__author__ = 'liwf'

import MySQLdb

try:
conn=MySQLdb.connect(host='localhost',user='root',passwd='',port=3306)
cur=conn.cursor()

#cur.execute('create database if not exists python')
conn.select_db('dbinfo')
#cur.execute('create table test(id int,info varchar(20))')

#value=[1,'188888888',0,'jsonstr']
#cur.execute('insert into UserInfo values(%s,%s,%s,%s)',value)

#values=[]
#for i in range(20):
# values.append((i,'hi rollen'+str(i)))

#cur.executemany('insert into test values(%s,%s)',values)
#
#cur.execute('update test set info="I am rollen" where id=3')
#
#conn.commit()
cur.close()
conn.close()

except MySQLdb.Error,e:
print "Mysql Error %d: %s" % (e.args[0], e.args[1])

7、主键操作

mysql的主键问题:
Mysql的两种主键。Primary key 和not null auto_incriment
在建立mysql表时,给一个字段添加了主键primary key
在insert数据时可以不用insert主键,mysql会自动添加0,但是在第二次insert时没有填写值mysql数据库还是默认添加0,会导致有重复的主键,这是不可以的。所有在定义了primary key时,在insert数据时要给主键填写值。
在建立mysql表时,给一个字段添加了主键not null auto_increment=1;
这也是一个主键。时自增长的以1为开始。这个字段是可以不用填写值的,mysql数据库会自动给填写值,不会出现primary key的状况。
Alter table tb add primary key(id);
Alter table tb change id id int(10) not null auto_increment=1;
删除自增长的主键id
先删除自增长在删除主键
Alter table tb change id id int(10);//删除自增长
Alter table tb drop primary key;//删除主建