zoukankan      html  css  js  c++  java
  • 连接数据库

    连接数据库:

    pycharm连接数据库

    pycharm连接数据库:
    	-pycharm作为数据库的客户端
    django连接数据库:
    	1,配置文件
       # 默认是SQLit 3 的配置
    
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        }
    }
    
    
    # MySQL的配置
    
    DATABASES = {
        'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME':'dbname',   #注意这里的数据库应该以utf-8编码
        'USER': 'xxx',
        'PASSWORD': 'xxx',
        'HOST': '',
        'PORT': '',
        }
    }
    
    # 对于python3的使用者们还需要再加一步操作
    # 由于Django内部连接MySQL时使用的是MySQLdb模块,而python3中还无此模块,所以需要使用pymysql来代替
      
    2.# 如下设置放置的与project同名的配置的 __init__.py文件中;也可以在应用名下的__init__.py中书写
      
    import pymysql
    pymysql.install_as_MySQLdb()
    
    
    # PostgreSQL配置
    DATABASES = {
        'default': {
            'NAME': 'app_data',
            'ENGINE': 'django.db.backends.postgresql_psycopg2',
            'USER': 'XXX',
            'PASSWORD': 'XXX'
        }
    
    
    # Oracle配置
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.oracle',
            'NAME': 'xe',
            'USER': 'a_user',
            'PASSWORD': 'a_password',
            'HOST': '',
            'PORT': '',
        }
    }
    

    ORM:

    orm:
        ---对象关系映射
    类           表
    对象         数据
    对象点属性   字段对应的值
    
    功能: 能够让不会数据库操作的人也能够简单方便去操作数据库
    
    缺点:封装程度太高  有时候会出现查询效率偏低的问题
    	 复杂的 追速度 需要手动书写sql语句
    
    django中如何操作orm:
    	书写模型类
    	去应用下的models.py中书写模型类(就是类)
    
    注意:django项目的时候 一个django就对应一个数据库
    
    

    数据同步

    数据同步: 
      对数据库内的数据作出修改后,必须执行数据库迁移(同步)命令
    
       命令: 
    	1.python manage.py makemigrations
    	将数据库的修改 记录到小本本上(migrations文件内)
    	2.python manage.py migrate
    	将修改操作真正的同步到数据库中
        
    注意:
    	1.上面两条命令必须是成双成对出现
    
    	2.只要修改了models里面跟数据库相关的代码  你就必须重新执行上面两条命令
    

    模型表字段的增删改查:

    模型表字段的增删改查:
        
     字段的修改
    	直接修改代码 然后执行数据库迁移命令即可(两条一条不能少)
    	# 方式1  设置默认值
    email = models.EmailField(default='123@qq.com')  # varchar
    	# 方式2   允许字段为空
    phone = models.BigIntegerField(null=True)
    	# 直接在提示中给默认值
    gender = models.CharField(max_length=32)
    	#字段的删除
    直接注释掉对应的字段 然后再执行数据库迁移命令即可(谨慎使用)
    
    注意: 创建字段的数据类型时,主键默认不创建,则django自动创建(引擎为Innodb),主键为id 自增
    
    #创建字段: 
    nid = models.AutoField(primary_key=True)
    username = models.CharField(max_length=32)  #char 要设置max_length()
    email = models.EmailField(default='123@qq.com')
    phone = models.BigIntegerField(null=True)
    memo = models.TextField()
    
  • 相关阅读:
    一个意外错误使你无法删除该文件,文件或目录损坏且无法读取(转)
    测验3: 基本数据类型 (第3周)-程序题
    Oracle深入学习
    自动化测试
    时尚随感
    SQL-使用事务删除重复记录行
    HDU1878欧拉回路
    简单的完全背包HDU1114
    简单的背包变形HDU1203,HDU2955
    简单的背包问题(入门)HDU2602 HDU2546 HDU1864
  • 原文地址:https://www.cnblogs.com/shaozheng/p/11913540.html
Copyright © 2011-2022 走看看