Python连接数据库
Python 数据库接口支持多种数据库,可以选择适合的数据库(例如):
1.GadFly
2.mSQL
3. MySQL
4. PostgreSQL
5.Microsoft SQL Server 2000
8.Oracl
此次一MySql为例:
需求: 1.安装好了MySql
2.有一个Python项目
import pymysql //倒入模块
import django
con=pymysql.connect('localhost','root','asdf123','dsj101',charset="utf8") //连接MySql数据库(ip,用户名,密码,库名,utf8格式)
//查询数据
cur =con.cursor()
r=cur.execute("select * from tb_class")
a=cur.fetchall()
//for循环输出
for p in a:
print("标号:{0:<10}班级名称:{1}".format(p[0],p[1]))
con.close()//关闭连接
用Django操作据库:
前提: 已经拥有一个django项目。已安装MySQLdb,进入mysql创建一个新的库(注意,这里必须是新的库,如果库里已经有表,就会出问题。)
修改项目中settings.py 配置数据属性:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'bloguser.apps.BloguserConfig'//会在数据库中自动加载你所创建的数据
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', //表示Django用的是MySql数据库
'NAME': 'blog', //MySql库名
'USER': 'root', //用户名
'PASSWORD': 'asdf123', //密码
'HOST': 'localhost', //ip
'PORT': '3306' //端口号
}
}
在Django项目下,创建一个models.py文件(django项目启动的时候会自动去项目下找这个文件,请不要创建与之同名的文件夹,以免django混乱),接下来就是在这个文件中建立与settings文件中配置的db中表的映射。
from django.db import models
# Create your models here.
class UserType(models.Model):
typeName = models.CharField(,max_length=50,null=False,unique=True)
class BlogUser(models.Model):
userName=models.CharField(max_length=50,null=False,unique=True,)
userPwd=models.CharField(max_length=32,null=False )
userEmail=models.CharField(max_length=255,null=False,unique=True)
userType=models.ForeignKey(UserType)
除了上述字段示意之外,注意一些细节:
第一,我们创建的这些类就对应了我们数据库中的表,类中的字段就是表的字段。
第二,这些类都应继承django.db中的models.Model模块。
第三,我们可以在类中创建一个Meta类指定表名,也可以不创建这个类,这样将会默认类名就是表名。
第四,我们建立这些映射关系必须和表中的一样,例如是否为空,长度等,如果和表中的设计不符,就会报错。
到此就在数据库中创建好了表,可以插入数据了