Python基础之数据库:5、创建表的完整语法、MySQL数据类型 ...

打印 上一主题 下一主题

主题 816|帖子 816|积分 2448

目录

一、创建表的完整语法

1、创建表的语法

create table 表名(
​                        字段名1 字段类型(数字) 约束条件,
​                        字段名2 字段类型(数字) 约束条件,
​                        字段名3 字段类型(数字) 约束条件,...)

2、创建表的条件


  • 字段名和字段类型必须填写
  • 数字和约束条件是可选的,可以不填
  • 约束条件也可以写多个,空格隔开就可以
3、数字的含义

​        在创建表的时候,字段名后会加上数据的类型,而数据类型的后面又会加上数字,数字在很多地方都是用来限制储存数据的长度,但是在整型中数字是用来控制展示的长度,因此在写整型时,通常不用加数字
  1. create table t12(id int(3));  不是用来限制长度
  2. insert into t12 values(12345);
  3. create table t13(id int(5) zerofill);  而是用来控制展示的长度
  4. insert into t13 values(123),(123456789);
  5. create table t14(id int);
复制代码
二、MySQL数据类型

1、字段类型之整型

整型的种类:

  • tinyint

    • 特点:最大可以储存1个bytes(正负号占一个bit)

  • smallint

    • 特点:最大可以储存2个biyts(正负号占一个bit)

  • int

    • 特点:最大可以储存4个biyts(正负号占一个bit)

  • bigint

    • 特点:最大可以储存8个biyts(正负号占一个bit)


​         MySQL中整型默认自带正负号,正负号会占用一个bit,也就是说整型的最大值会受正负号影响,下面可以通过添加数据的方式验证正负号的存在
取消正负号:
​        在创建表的阶段,在整型类型后添加关键词,就可以取消正负号
​        create table 表名(字段名 整型的类型 unsigned);

2、字段类型之浮点型

浮点型的种类:

  • float(m,d)

    • 特点:单精度浮点型 8位精度(4字节) m总个数,d小数位

  • double(m,d)

    • 特点:双精度浮点型 16位精度(8字节) m总个数,d小数位

  • decimal(m,d)

    • 特点:DECIMAL是一种定点类型,即所有值都有一个固定的小数位数。这 一点的重要性在于DECIMAL值不会像浮点数那样存在四舍五入的问题
    • M的取值范围是1〜65,D的取值范围是0〜30,且不超过M


3、字段类型之字符类型

字符类型的种类:

  • char(n)

    • 特点:固定长度,最多255个字符

  • carchar(n)

    • 特点:可变长度,最多65535个字符

区别:
​        char(n) 固定长度,char(4)不管是存入几个字符,都将占用4个字节,varchar是存入的实际字符数+1个字节(n255),所以varchar(4),存入3个字符将占用4个字节。

4、字段类型之枚举与集合


  • 枚举(多选一)

    • 枚举指在创建表的时候,指定的字段名后可以填入枚举类型,在关键词后方括号内,填入多个数据值,后期在往该字段名下添加数据时,只能添加枚举后括号内多个数据值的其中一个,否则将会报错
    • 关键词:enum(数据值1, 数据值2,...)

  1. 枚举:
  2.         多选一
  3.         create table t15(
  4.             id int,
  5.               name varchar(32),
  6.        gender enum('male','female','others')
  7.     );
  8.         insert into t15 values(1,'tony','猛男');
  9.           insert into t15 values(2,'jason','male');
  10.         insert into t15 values(3,'kevin','others');
复制代码

  • 集合(多选多/多选一)

    • 集合和枚举的功能相似,也是在定义字段名阶段,在字段名后方添加集合关键词,在括号内填入多个数据值,在后期添加该字段名的数据的时候,可以填入指定的一个或多个数据值,指定外的数据值无法添加
    • 关键词:set(数据值1, 数据值2,...)

  1. 集合
  2.         多选多/多选一
  3.         create table t16(
  4.             id int,
  5.               name varchar(16),
  6.        hobbies set('basketabll','football','doublecolorball')
  7.     );
  8.         insert into t16 values(1,'jason','study');
  9.         insert into t16 values(2,'tony','doublecolorball');
  10.         insert into t16 values(3,'kevin','doublecolorball,football');
复制代码
5、字段类型之日期类型

类型的种类:
  1. datetime                年月日时分秒
  2. date                        年月日
  3. time                        时分秒
  4. year                        年
复制代码
代码用法:
  1. create table t17(
  2.         id int,
  3.           name varchar(32),
  4.         register_time datetime,
  5.         birthday date,
  6.         study_time time,
  7.         work_time year
  8. );
  9. insert into t17 values(1,'jason','2000-11-11 11:11:11','1998-01-21','11:11:11','2000');
复制代码
涉及到时间类型的一般无需我们手动添加,系统都会自动进行添加

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

惊雷无声

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表