[学习记录]MySQL临时整理
这个学期刚开始学数据库的时候边学MySQL边整理了一些笔记,现在期末爆肝课程设计,顺便回顾一下内容。由于今天已经不早了,就简单记几条今天用到的tips。
一varchar与char与nchar:
varchar是可变长的字符串,如果定义成varchar(10),如果输入不足10则以实际长度为准
char(10),无论输入是否够10,长度都是10‘
nchar,支持Unicode字符
二修改表
alter table test rename test1; --修改表名
alter table test add column name varchar(10); --添加表列
alter table test drop column name; --删除表列
alter table test modify address char(10) --修改表列类型
alter table test change column address address1 varchar(30)--修改表列名
三创建数据库
create database [name]
四null与date类型
由于使用python3以及pymysql对mysql数据库进行操作,所以如果需要填入date类型需要'YYYY-MM-DD',而null需要'null'。
从数据库中获得的null值会被解析成none
五python中的中文如何正确输入数据库
如果不注意的话会出现这种报错:'latin-1' codec can't encode character in position 1-4之类的。
解决方法:db=pymysql.connect(host='localhost',user=user,password=pwd,port=port,db=dbname,charset='utf8')
对,就是在末尾加上charset='uf8'
然后就解决了。
六cursor.execute()
sql中可以多加入几个%s用来格式化,在执行下面语句时将待输入的变量打包成一个元组作为二号参数传入,就能自动替换进去,很好的处理了诸如单双引号之类的问题。
cursor.execute(sql,(tid,tname,ssex,birth,college,zhicheng))