精华内容
下载资源
问答
  • 数据库数据类型:数字、字符串、时间、二进制,无布尔值 ORM分类 db first (1)先登录数据库,通过命令创建表结构及对应关系, (2)再通过工具连接上数据库,通过点操作,通过表结构生成类,不用写sql语句...

    ORM操作

    • 数据库数据类型:数字、字符串、时间、二进制,无布尔值

    ORM分类

    db first
    	(1)先登录数据库,通过命令创建表结构及对应关系,
    	(2)再通过工具连接上数据库,通过点操作,通过表结构生成类,不用写sql语句
    
    code first(主流)
    	通过类创建数据库,即转成sql数据,执行create
    	(1)先写类
    	(2)通过类,创建表结构
    	例如:Django
    
    • 使用场景
      • 根据类自动创建数据库表
      • 根据类对数据库中的数据,进行各种操作

    创建数据库表结构流程

    1. 写类

       app02中的models.py
       	# 创建的数据库表单名:app02_userinfo
       	class UserInfo(models.Model):
       	    # 默认创建ID列,自增, 主键
       	    # 用户名列,字符串类型,指定长度
       	    username = models.CharField(max_length=32)	#字符长度
       	    password = models.CharField(max_length=64)
      
    2. 注册app

       工程中的settings.py
       	INSTALLED_APPS中添加app命令,例如
       		INSTALLED_APPS = [
       		    'django.contrib.admin',
       		    'django.contrib.auth',
       		    'django.contrib.contenttypes',
       		    'django.contrib.sessions',
       		    'django.contrib.messages',
       		    'django.contrib.staticfiles',
       		    'app02',
       		]
      
    3. 根据情况配置使用数据库

       默认数据库(无需修改)
       DATABASES = {
           'default': {
               'ENGINE': 'django.db.backends.sqlite3',
               'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
           }
       }
      
       修改数据库方式,数据名(dbname)需要自己创建
       DATABASES = {
           'default': {
           'ENGINE': 'django.db.backends.mysql',
           'NAME':'dbname',
           'USER': 'root',
           'PASSWORD': 'xxx',
           'HOST': '',
           'PORT': '',
           }
       }
      
       注:Django默认使用MySQLdb模块连接mysql数据库,但python 3.x中无该模块
       	需要改为pymysql:在project同名文件夹下的__init__.py文件中添加代码如下:
       		import pymysql
       		pymysql.install_as_MySQLdb()	
      
    4. 执行命令,生成表结构

      1. python manage.py makemigrations
      2. python manage.py migrate

    基本操作

    •   方式一:
        models.UserInfo.objects.create(username='root', password='123')
      
        方式二:
        dict_user = {'username': 'Lucy', 'password': '123'}
        models.UserInfo.objects.create(**dict_user)
      
        方式三:
        obj = models.UserInfo(username='Tom', password='123')
        obj.save()
      
    •   models.UserInfo.objects.filter(username='Tom').delete()
        models.UserInfo.objects.filter(id=1).delete()
        models.UserInfo.objects.all().delete()
      
    •   models.UserInfo.objects.all().update(password=999)
        models.UserInfo.objects.filter(id=7).update(password=666)
      
      • 单表

          select * from tb where id>1
          # 对应关系
          modles.tb.objects.filter(id__gt=1) #id>1
          modles.tb.objects.filter(id=1)
          modles.tb.objects.filter(id__lt=1)	# id<1
          modles.tb.objects.filter(id__gte=1) # id>=1
          modles.tb.objects.filter(id__lte=1)	# id<=1
        
          # result的类型是QuerySet,是Django提供的,类似列表
          # 全部
          result = models.UserInfo.objects.all()
          # 查看sql语句
          print(result.query)
          # 过滤全部满足条件的
          result = models.UserInfo.objects.filter(username='Tom')	    
          for item in result:
              print(item.id, item.username, item.password)
        
          # 取第一个元素,没有为None
          obj1 = models.UserInfo.objects.filter(username="root", password="999").first()
          # 仅获取一条信息,但id不存在,会报错
          models.UserInfo.objects.get(id=nid)
          # 统计个数
          obj2 = models.UserInfo.objects.filter(username="root", password="999").count()
        
          # QuerySet类型,元素是对象
          v1 = models.Business.objects.all()
          # QuerySet类型,元素是字典
          v2 = models.Business.objects.all().values('id', 'name')
          # QuerySet类型,元素是元组
          v3 = models.Business.objects.all().values_list('id', 'name')
        
      • 跨表

        • 点操作

          • 应用场景:获取到QuerySet对象后的操作
        • 双下划线操作

          • 应用场景:在获取QuerSet对象前的操作,及写在models.Host.objects.xxx 上

          QuerySet类型,元素是对象,跨表通过点方式

          v1 = models.Host.objects.all() print(v1[0].nid, v1[0].port, v1[0].b_id, v1[0].b.name)

          QuerySet类型,元素是字典,跨表通过双下划线

          v2 = models.Host.objects.all().values('hostname', 'b__name') print(v2[0]['hostname'], v2[0]['b__name'])

          QuerySet类型,元素是元组

          v3 = models.Host.objects.all().values_list('nid', 'hostname', 'b_id', 'b__name') for row in v3: print(row[0], row[1], row[2], row[3])

    操作表结构

    • 修改表结构

      (1)username = models.CharField(max_length=32) 修改为

      username = models.CharField(max_length=64)

      (2)再执行以下两条命令,重新生成表结构

      1. python manage.py makemigrations
      2. python manage.py migrate

      注:改小会存在数据丢失风险

    • 添加表结构

        方式一:	
        	(1)email = models.CharField(max_length=64)
        	(2)python manage.py makemigrations
        		选择1,输入默认值
        	(3)python manage.py migrate
        
        方式二:(指定默认为NULL)
        	(1)gender = models.CharField(max_length=64, null=True)
        	(2)python manage.py makemigrations
        	(3)python manage.py migrate
      
        方式三:(指定默认值)
        	(1)name_en = models.CharField(max_length=64, default='RDD')
        	(2)python manage.py makemigrations
        	(3)python manage.py migrate
      
    • 删除表结构

        (1)# gender = models.CharField(max_length=64, null=True)
        (2)python manage.py makemigrations
        (3)python manage.py migrate
      

    字段类型

    • 数据库常见类型:字符串、数字、时间、二进制

    • EmailField、URLField、GenericIPAddressField等类型

      • 本质:字符串
      • Django特有
      • 例如: email = models.EmailField(max_length=64)
      • 用途:Django后台管理时,使用,检测数据合法性
    • AutoField类型,用于自增

      • uid = models.AutoField(primary_key=True)

    字段参阅

    字段参数

    null               -> db是否可以为空
    default            -> 默认值
    primary_key        -> 主键
    db_column          -> 列名
    db_index           -> 索引
    unique			   -> 唯一索引
    unique_for_date   	数据库中字段【日期】部分是否可以建立唯一索引
    unique_for_month	数据库中字段【月】部分是否可以建立唯一索引
    unique_for_year		数据库中字段【年】部分是否可以建立唯一索引
    auto_now_add        -> 创建时,自动生成时间
    	例如 
    		app的views.py
    			def login(request):
    				models.UserGroup.objects.create(caption="monitor")
    
    		app的models.py
    			class UserGroup(models.Model):
    			    uid = models.AutoField(primary_key=True)
    			    caption = models.CharField(max_length=32)
    			    ctime = models.DateTimeField(auto_now_add=True, null=True)
    				uptime = models.DateTimeField(auto_now=True, null=True)
    
    
    auto_now       -> 更新时,自动更新为当前时间
    	例如:
    		app的models.py
    			uptime = models.DateTimeField(auto_now=True, null=True)
    
    		app的views.py
    			# 这种方式不支持
    			obj = UserGroup.objects.filter(id=1).update(caption='CEO') 
    
    			# 这种方式:OK
    			obj = models.UserGroup.objects.filter(uid=1).first()
    			obj.caption = "CEO"
    			obj.save()
    	
    choices			  -> django admin中显示下拉框,避免连表查询
    	例如:
    	app的models.py
    		class UserInfo(models.Model):
    		    # 默认创建ID列,自增, 主键
    		    # 用户名列,字符串类型,指定长度
    		    # 字符串、数字、时间、二进制
    		    username = models.CharField(max_length=64)
    		    password = models.CharField(max_length=64)
    		    email = models.EmailField(max_length=64, null=True)
    		    user_type_choices = (
    		        (1, "超级用户"),
    		        (2, "管理员"),
    		        (3, "普通用户"),
    		    )
    		    user_type_id = models.IntegerField(choices=user_type_choices, default=3)
    
    blank             -> django admin是否可以为空
    verbose_name      -> django admin显示字段中文
    editable          -> django admin是否可以被编辑
    error_messages    -> 错误信息欠
    help_text         -> django admin提示
    validators		  -> django form ,自定义错误信息(欠)
    

    参数参阅

    转载于:https://www.cnblogs.com/todayisafineday/p/8111715.html

    展开全文
  • MySQL数据库确实提供布尔类型,此数据类型的关键字可以写成:布尔类型BOOL或布尔类型BOOLEAN,但是MySQL数据库数据类型的布尔类型是否也像其他数据库产品一样呢?本文揭开mysql布尔类型的真实面目。(一) 数据类型...

    【导读】

    网络上很多人咨询mysql是否提供布尔类型?MySQL数据库确实提供布尔类型,此数据类型的关键字可以写成:布尔类型BOOL或布尔类型BOOLEAN,但是MySQL数据库数据类型的布尔类型是否也像其他数据库产品一样呢?本文揭开mysql布尔类型的真实面目。

    (一) 数据类型测试

    (1). 布尔类型BOOL/BOOLEAN 与 微整型TINYINT

    a). 创建测试表结构

    root@localhost : test 05:12:49>CREATETABLEboolean_test(IDINTNOTNULLAUTO_INCREMENT,

    ->                           Online_Flag BOOL,

    ->                           Lock_Flag BOOLEAN,

    ->PRIMARYKEY(ID)

    ->                           )ENGINE=InnoDBCHARACTERSET'utf8'COLLATE'utf8_general_ci';

    Query OK, 0rowsaffected (0.01 sec)

    我们可以发现对于字段类型写成BOOL或者BOOLEAN,MySQL的SQL语法都是允许通过的,另外我们再通过SHOW命令查阅创建好的表结构:

    *************************** 1. row ***************************

    Table: boolean_test

    CreateTable:CREATETABLE`boolean_test` (

    `ID`int(11)NOTNULLAUTO_INCREMENT,

    `Online_Flag` tinyint(1)DEFAULTNULL,

    `Lock_Flag` tinyint(1)DEFAULTNULL,

    PRIMARYKEY(`ID`)

    ) ENGINE=InnoDB AUTO_INCREMENT=6DEFAULTCHARSET=utf8

    1 rowinset(0.00 sec)

    小结:

    我们对比手工输入创建表boolean_test的结构定义与数据库中查阅到表结构定义,可以发现二者的差别:

    MySQL数据库将字段的数据类型BOOL/BOOLEAN默认地转换成TINYINT(1);

    MySQL数据库自动完成的数据类型转换过程,没有给出任何错误或警告信息提示;

    b). 测试数据的写入

    root@localhost : test 05:12:58>INSERTINTOboolean_test(Online_Flag,Lock_Flag)VALUES(TRUE,FALSE);

    Query OK, 1 row affected (0.00 sec)

    root@localhost : test 05:13:58>INSERTINTOboolean_test(Online_Flag,Lock_Flag)VALUES(1,0);

    Query OK, 1 row affected (0.00 sec)

    root@localhost : test 05:14:04>INSERTINTOboolean_test(Online_Flag,Lock_Flag)VALUES(2,-1);

    Query OK, 1 row affected (0.00 sec)

    root@localhost : test 05:14:11>INSERTINTOboolean_test(Online_Flag,Lock_Flag)VALUES(-128,127);

    Query OK, 1 row affected (0.00 sec)

    root@localhost : test 05:14:18>INSERTINTOboolean_test(Online_Flag,Lock_Flag)VALUES(-256,256);

    Query OK, 1 row affected, 2 warnings (0.00 sec)

    root@localhost : test 05:14:24> SHOW WARNINGS;

    +---------+------+------------------------------------------------------+

    |Level| Code | Message                                              |

    +---------+------+------------------------------------------------------+

    | Warning | 1264 |Outofrange valueforcolumn'Online_Flag'atrow 1 |

    | Warning | 1264 |Outofrange valueforcolumn'Lock_Flag'atrow 1   |

    +---------+------+------------------------------------------------------+

    2rowsinset(0.00 sec)

    小结:

    测试数据表boolean_test的2个字段布尔类型字段,写入的值超过有符号整型TINYINT数据类型存储范围时,出现了字段值截断的警告信息;

    向测试数据表boolean_test的字段可以写入表达布尔数值的TRUE 或 FALSE是不会报错,也不需要用单引号或双引号括起来;

    向测试数据表boolean_test的字段可以写入非表达布尔类型的数值,MySQL数据库不会有任何错误或警告信息提示;

    c). 显示写入表boolean_test的数据

    root@localhost : test 06:31:33>SELECT*FROMboolean_test;

    +----+-------------+-----------+

    | ID | Online_Flag | Lock_Flag |

    +----+-------------+-----------+

    |  1 |           1 |         0 |

    |  2 |           1 |         0 |

    |  3 |           2 |        -1 |

    |  4 |        -128 |       127 |

    |  5 |        -128 |       127 |

    +----+-------------+-----------+

    5rowsinset(0.00 sec)

    小结:

    通过查阅测试表boolean_test的数据,可以发现MySQL数据库中存储的值与数据写入的INSERT语句还是有一些差别,体现在:

    写入的布尔类型值TRUE 转换成了 1,FALSE 转换成了 0;

    超过TINYINT数据类型存储的上下限制的值,被自动截断;

    布尔类型BOOL/BOOLEAN的功能等同于微整型TINYTINT;

    【编辑推荐】

    【责任编辑:小林 TEL:(010)68476606】

    点赞 0

    展开全文
  • MySQL数据库确实提供布尔类型,此数据类型的关键字可以写成:布尔类型BOOL或布尔类型BOOLEAN,但是MySQL数据库数据类型的布尔类型是否也像其他数据库产品一样呢?本文揭开mysql布尔类型的真实面目。(一) 数据类型...

    【导读】

    网络上很多人咨询mysql是否提供布尔类型?MySQL数据库确实提供布尔类型,此数据类型的关键字可以写成:布尔类型BOOL或布尔类型BOOLEAN,但是MySQL数据库数据类型的布尔类型是否也像其他数据库产品一样呢?本文揭开mysql布尔类型的真实面目。

    (一) 数据类型测试

    (1). 布尔类型BOOL/BOOLEAN 与 微整型TINYINT

    a). 创建测试表结构

    root@localhost : test 05:12:49> CREATE TABLE boolean_test(ID INT NOT NULL AUTO_INCREMENT,

    ->                           Online_Flag BOOL,

    ->                           Lock_Flag BOOLEAN,

    ->                           PRIMARY KEY(ID)

    ->                           )ENGINE=InnoDB CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';

    Query OK, 0 rows affected (0.01 sec)

    我们可以发现对于字段类型写成BOOL或者BOOLEAN,MySQL的SQL语法都是允许通过的,另外我们再通过SHOW命令查阅创建好的表结构:

    *************************** 1. row ***************************

    Table: boolean_test

    Create Table: CREATE TABLE `boolean_test` (

    `ID` int(11) NOT NULL AUTO_INCREMENT,

    `Online_Flag` tinyint(1) DEFAULT NULL,

    `Lock_Flag` tinyint(1) DEFAULT NULL,

    PRIMARY KEY (`ID`)

    ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8

    1 row in set (0.00 sec)

    小结:

    我们对比手工输入创建表boolean_test的结构定义与数据库中查阅到表结构定义,可以发现二者的差别:

    MySQL数据库将字段的数据类型BOOL/BOOLEAN默认地转换成TINYINT(1);

    MySQL数据库自动完成的数据类型转换过程,没有给出任何错误或警告信息提示;

    b). 测试数据的写入

    root@localhost : test 05:12:58> INSERT INTO boolean_test(Online_Flag,Lock_Flag) VALUES(TRUE,FALSE);

    Query OK, 1 row affected (0.00 sec)

    root@localhost : test 05:13:58> INSERT INTO boolean_test(Online_Flag,Lock_Flag) VALUES(1,0);

    Query OK, 1 row affected (0.00 sec)

    root@localhost : test 05:14:04> INSERT INTO boolean_test(Online_Flag,Lock_Flag) VALUES(2,-1);

    Query OK, 1 row affected (0.00 sec)

    root@localhost : test 05:14:11> INSERT INTO boolean_test(Online_Flag,Lock_Flag) VALUES(-128,127);

    Query OK, 1 row affected (0.00 sec)root@localhost : test 05:14:18> INSERT INTO boolean_test(Online_Flag,Lock_Flag) VALUES(-256,256);

    Query OK, 1 row affected, 2 warnings (0.00 sec)

    root@localhost : test 05:14:24> SHOW WARNINGS;

    +---------+------+------------------------------------------------------+

    | Level   | Code | Message                                              |

    +---------+------+------------------------------------------------------+

    | Warning | 1264 | Out of range value for column 'Online_Flag' at row 1 |

    | Warning | 1264 | Out of range value for column 'Lock_Flag' at row 1   |

    +---------+------+------------------------------------------------------+

    2 rows in set (0.00 sec)

    小结:

    测试数据表boolean_test的2个字段布尔类型字段,写入的值超过有符号整型TINYINT数据类型存储范围时,出现了字段值截断的警告信息;

    向测试数据表boolean_test的字段可以写入表达布尔数值的TRUE 或 FALSE是不会报错,也不需要用单引号或双引号括起来;

    向测试数据表boolean_test的字段可以写入非表达布尔类型的数值,MySQL数据库不会有任何错误或警告信息提示;

    c). 显示写入表boolean_test的数据

    root@localhost : test 06:31:33> SELECT * FROM boolean_test;

    +----+-------------+-----------+

    | ID | Online_Flag | Lock_Flag |

    +----+-------------+-----------+

    |  1 |           1 |         0 |

    |  2 |           1 |         0 |

    |  3 |           2 |        -1 |

    |  4 |        -128 |       127 |

    |  5 |        -128 |       127 |

    +----+-------------+-----------+

    5 rows in set (0.00 sec)

    小结:

    通过查阅测试表boolean_test的数据,可以发现MySQL数据库中存储的值与数据写入的INSERT语句还是有一些差别,体现在:

    写入的布尔类型值TRUE 转换成了 1,FALSE 转换成了 0;

    超过TINYINT数据类型存储的上下限制的值,被自动截断;

    布尔类型BOOL/BOOLEAN的功能等同于微整型TINYTINT;

    【编辑推荐】

    展开全文
  • MySQL数据库确实提供布尔类型,此数据类型的关键字可以写成:布尔类型BOOL或布尔类型BOOLEAN,但是MySQL数据库数据类型的布尔类型是否也像其他数据库产品一样呢?本文揭开mysql布尔类型的真实面目。 (一) 数据类型...

    【导读】

    网络上很多人咨询mysql是否提供布尔类型?MySQL数据库确实提供布尔类型,此数据类型的关键字可以写成:布尔类型BOOL或布尔类型BOOLEAN,但是MySQL数据库数据类型的布尔类型是否也像其他数据库产品一样呢?本文揭开mysql布尔类型的真实面目。

    (一) 数据类型测试

    (1). 布尔类型BOOL/BOOLEAN 与 微整型TINYINT

    a). 创建测试表结构

    1. root@localhost : test 05:12:49> CREATE TABLE boolean_test(ID INT NOT NULL AUTO_INCREMENT,  
    2.    
    3.     ->                           Online_Flag BOOL,  
    4.    
    5.     ->                           Lock_Flag BOOLEAN,  
    6.    
    7.     ->                           PRIMARY KEY(ID)  
    8.    
    9.     ->                           )ENGINE=InnoDB CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';  
    10.    
    11. Query OK, 0 rows affected (0.01 sec) 

    我们可以发现对于字段类型写成BOOL或者BOOLEAN,MySQL的SQL语法都是允许通过的,另外我们再通过SHOW命令查阅创建好的表结构:

    1. *************************** 1. row ***************************  
    2.    
    3.        Table: boolean_test  
    4.    
    5. Create TableCREATE TABLE `boolean_test` (  
    6.    
    7.   `ID` int(11) NOT NULL AUTO_INCREMENT,  
    8.    
    9.   `Online_Flag` tinyint(1) DEFAULT NULL,  
    10.    
    11.   `Lock_Flag` tinyint(1) DEFAULT NULL,  
    12.    
    13.   PRIMARY KEY (`ID`)  
    14.    
    15. ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8  
    16.    
    17. 1 row in set (0.00 sec) 

    小结:

    我们对比手工输入创建表boolean_test的结构定义与数据库中查阅到表结构定义,可以发现二者的差别:

    • MySQL数据库将字段的数据类型BOOL/BOOLEAN默认地转换成TINYINT(1);
    • MySQL数据库自动完成的数据类型转换过程,没有给出任何错误或警告信息提示;

    b). 测试数据的写入

    1. root@localhost : test 05:12:58> INSERT INTO boolean_test(Online_Flag,Lock_Flag) VALUES(TRUE,FALSE);  
    2.    
    3. Query OK, 1 row affected (0.00 sec)  
    4.    
    5. root@localhost : test 05:13:58> INSERT INTO boolean_test(Online_Flag,Lock_Flag) VALUES(1,0);  
    6.    
    7. Query OK, 1 row affected (0.00 sec)  
    8.    
    9. root@localhost : test 05:14:04> INSERT INTO boolean_test(Online_Flag,Lock_Flag) VALUES(2,-1);  
    10.    
    11. Query OK, 1 row affected (0.00 sec)  
    12.    
    13. root@localhost : test 05:14:11> INSERT INTO boolean_test(Online_Flag,Lock_Flag) VALUES(-128,127);  
    14.    
    15. Query OK, 1 row affected (0.00 sec) 
    1. root@localhost : test 05:14:18> INSERT INTO boolean_test(Online_Flag,Lock_Flag) VALUES(-256,256);  
    2.    
    3. Query OK, 1 row affected, 2 warnings (0.00 sec)  
    4.    
    5. root@localhost : test 05:14:24> SHOW WARNINGS;  
    6.    
    7. +---------+------+------------------------------------------------------+  
    8.    
    9. Level   | Code | Message                                              |  
    10.    
    11. +---------+------+------------------------------------------------------+  
    12.    
    13. | Warning | 1264 | Out of range value for column 'Online_Flag' at row 1 |  
    14.    
    15. | Warning | 1264 | Out of range value for column 'Lock_Flag' at row 1   |  
    16.    
    17. +---------+------+------------------------------------------------------+  
    18.    
    19. rows in set (0.00 sec) 

    小结:

    • 测试数据表boolean_test的2个字段布尔类型字段,写入的值超过有符号整型TINYINT数据类型存储范围时,出现了字段值截断的警告信息;
    • 向测试数据表boolean_test的字段可以写入表达布尔数值的TRUE 或 FALSE是不会报错,也不需要用单引号或双引号括起来;
    • 向测试数据表boolean_test的字段可以写入非表达布尔类型的数值,MySQL数据库不会有任何错误或警告信息提示;

    c). 显示写入表boolean_test的数据

    1. root@localhost : test 06:31:33> SELECT * FROM boolean_test;  
    2.    
    3. +----+-------------+-----------+  
    4.    
    5. | ID | Online_Flag | Lock_Flag |  
    6.    
    7. +----+-------------+-----------+  
    8.    
    9. |  1 |           1 |         0 |  
    10.    
    11. |  2 |           1 |         0 |  
    12.    
    13. |  3 |           2 |        -1 |  
    14.    
    15. |  4 |        -128 |       127 |  
    16.    
    17. |  5 |        -128 |       127 |  
    18.    
    19. +----+-------------+-----------+  
    20.    
    21. rows in set (0.00 sec) 

    小结:

    通过查阅测试表boolean_test的数据,可以发现MySQL数据库中存储的值与数据写入的INSERT语句还是有一些差别,体现在:

    • 写入的布尔类型值TRUE 转换成了 1,FALSE 转换成了 0;
    • 超过TINYINT数据类型存储的上下限制的值,被自动截断;
    • 布尔类型BOOL/BOOLEAN的功能等同于微整型TINYTINT;

    展开全文
  • 一、数据库操作1、创建model基本结构更多字段:1、models.AutoField 自增列= int(11)如果没有的话,默认会生成一个名称为 id 的列,如果要显示的自定义一个自增列,必须将给列设置为主键 primary_key=True。...
  • 【导读】MySQL数据库产品提供了二种比较特殊的数据类型:SET(集合类型)、ENUM(枚举类型)、BOOL/BOOLEAN(布尔类型),而多数开发人员,甚至DBA从业者对如何使用这三种数据类型的应用场景并不十分清晰,为此结合TINYINT...
  • 2l单据类型 表名: BILLTYPE 描述: 字段名 中文描述 字段类型/长度 是否为空 说明 BILLTYPEID 单据类型ID SMALLINT NOT Primary; ...单据类型名称 ...22布尔表(用于查询...
  • mysql 数据库查询

    2017-10-31 07:13:00
    myspl 三部分 文件 服务 界面 查看数据库命令 show databases 创建数据库 create database 库名 ...: 字段相当于表头(数据结构)包括: 1字段名 2数据类型布尔、字符串、数字类型) 3约束(常见约束:主...
  • oracle数据库处理boolean型字段

    万次阅读 2014-03-27 22:22:36
    在设计数据库表结构时,选择一种高效的策略来存储一个可以在很多编程环境中使用的逻辑布尔值是非常重要的。(虽然 Oracle 没有 Boolean 数据类型来表示数据库字段,但是在 PL/SQL 中却具有 Boolean 数据类型。) ...
  • MYSQL数据库基础01

    2020-07-07 00:24:14
    MYSQL数据库一、数据库(database)1、概念2、数据类型(1)字符(2)数值(3)布尔值(4)日期3、库的建立4、数据完整性以及实现方法(1)数据完整性(2)完整性实现方法5、的建立及操作6、结构操作与数据操作(1...
  • 在设计数据库表结构时,选择一种高效的策略来存储一个可以在很多编程环境中使用的逻辑布尔值是非常重要的。(虽然 Oracle 没有 Boolean 数据类型来表示数据库字段,但是在 PL/SQL 中却具有 Bool...
  • MySQL数据库确实提供布尔类型,此数据类型的关键字可以写成:布尔类型BOOL或布尔类型BOOLEAN,但是MySQL数据库数据类型的布尔类型是否也像其他数据库产品一样呢?本文揭开mysql布尔类型的真实面目。(一) 数据类型...
  • 在设计数据库表结构时,选择一种高效的策略来存储一个可以在很多编程环境中使用的逻辑布尔值是非常重要的。(虽然 Oracle 没有 Boolean 数据类型来表示数据库字段,但是在 PL/SQL 中却具有 Boolean 数据类型。)任何...
  • 今天分享枚举类型ENUM的测试数据,建议大家结合上一篇的内容“布尔类型BOOL/BOOLEAN 与 微整型TINYINT”进行对比学习。 (2). 枚举类型ENUM a). 创建与对比创建的数据库表mysqlops_enum结构 执行数据库表mysqlops_...
  • 对Oracle 数据库技术具有狂热的爱好,深入理解Oracle 的体系结构、内存结构、物理存储(各种块格式)、锁机制、优化机制等。深入了解Oracle的备份恢复机制,熟悉Oracle 的各种备份方法,能够处理各种情况下的数据...
  • 今天分享枚举类型ENUM的测试数据,建议大家结合上一篇的... 创建与对比创建的数据库表mysqlops_enum结构执行数据库表mysqlops_enum创建的SQL语句:root@localhost : test 11:22:29> CREATE TABLE mysqlops_enu...
  • mysql语言结构

    千次阅读 2017-04-28 09:07:29
    MySQL 语言结构 一、实验介绍 ...文字值:字符串,数值型,日期类型,十六进制,布尔值,位域,NULL值识别符:数据库、索引、列和别名用户自定义变量注释语句 1.3 实验环境 课程使用
  • MySQL语言结构

    2019-08-01 14:59:49
    一、实验简介 1.1 实验内容 本实验中主要学习 MySQL 语言结构中的一些基本概念,偏重理论... 识别符:数据库、索引、列和别名 用户自定义变量 注释语句 二、文字值 参考官方文档:http://dev.mysql.com/do...
  • 类似于数据库中的表结构定义,主要作用如下: 1.定义Index下字段名(Field Name) 2.定义字段的类型,比如数值型,字符串型、布尔型等 3.定义倒排索引的相关配置,比如是否索引、记录postion等 需要...
  • 类似数据库中的表结构定义,主要作用如下: 定义 index 下的字段名(Field name) 定义字段的类型,比如 数值型,字符串型,布尔型等 定义倒排索引的相关配置,比如是的索引、是否记录position 等 二、常用...
  • 类似数据库中的表结构定义,主要作用如下: 定义Index下的字段名( Field Name ) 定义字段的类型,比如数值型、字符串型、布尔型等 定义倒排索弓|相关的配置,比如是否索引、记录position等 2 查看 mapping { "index...
  • Elasticsearch 6.x Mapping设置

    千次阅读 2018-08-16 21:29:48
    类似于数据库中的表结构定义,主要作用如下: 定义Index下字段名(Field Name) 定义字段的类型,比如数值型,字符串型、布尔型等 定义倒排索引的相关配置,比如是否索引、记录postion等 需要注意的是,在索引...
  • Elasticsearch 6 Mapping设置

    千次阅读 2019-03-11 19:34:17
    类似于数据库中的表结构定义,主要作用如下: 定义Index下字段名(Field Name) 定义字段的类型,比如数值型,字符串型、布尔型等 定义倒排索引的相关配置,比如是否索引、记录postion等 需要注意的是,在索引中...
  • 原子数据类型包括数值型、布尔型、字符串类型和时间戳类型。复杂数据类型包括数组、映射和结构 hive会为每个创建的数据库在HDFS上创建一个目录,该数据库会以子目录形式存储,中的数据会以目录下的文件形式...
  • Oracle

    2020-10-26 08:53:34
    Oracle安装与mysql比较Oracle的数据类型1、数值类型2、字符类型3、日期类型4、布尔类型5、文件类型(不建议数据库内上传文件)PLSQL Developer为当前用户指定表空间修改当前字符集为简体中文创建表查看表结构插入...
  • elasticsearch篇之mapping

    万次阅读 多人点赞 2018-05-17 18:01:37
    mapping是类似于数据库中的表结构定义,主要作用如下: 定义index下的字段名 定义字段类型,比如数值型、浮点型、布尔型等 定义倒排索引相关的设置,比如是否索引、记录position等 查看mapping GET /[index...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 213
精华内容 85
关键字:

数据库表结构布尔类型