mysql-数据类型、约束(主键、唯一键、非空、默认值、无符号、外键)

一、整型

        bigint:表示的范围比int更大

        int:表示的范围更大
        tinyint:取值范围
                ---整数:-128,127
                  
                ---非负数: 0-255
                

 二、浮点型float或decimal

        用法:float(m,n)、decimal(m,n)

                m表示数据的最大长度
                n表示小数点后多少位
                整数部分最大只能时m-n
        举例:float(5,2)        
                小数点的精度超出指定的范围,则四舍五入
                

                 

                 

 三、日期时间datetime

        数据格式:'2020-01-01 12:29:59'

        

四、字符串varchar(n) 

        n表示字符串的最大长度

        举例:varchar(20)表示最多只能输入20个字符

        

五、枚举型enumvalue1,value2......

        预先定义的一个有序集合,如果字段为枚举型,则只能输入该有序集合范围的数据

        

        输入序列外的数据则报错

           

六、约束

        primary key主键:非空、不能重复

        unique key唯一键:不能重复

        not null非空:不能为空

        default “默认值

                举例:sex enum("M","F","保密") default "M"

        unsigned无符号:表示非负数,只能用于数值型

                

         auto_increment自增长:自增长需要一般和主键一起使用,否则报错;唯一健和外健也可以,但是一般不用自增,都是留给主键使用

                

                错误演示:

                         

七、外键

        一个表(表1)的某个字段指向另外一张表(表2)的主键,满足这个条件,我们就可以给表1定义外键,其中表1称为从表,表2称为主表。

        设置外键:alter table 从表名 add foreign key (从表字段) references 主表(主表字段);

         alter table scores add foreign key(studentno) references students(studentno)

        

        条件:

                数据类型匹配
                引擎必须一样
                注意已有的数据是否冲突(即主表和从表的数据不一致)
            --举例:

                 

         外键的作用:

                ①设置外键后,从表中添加数据时,所添加的数据必须在主表中存在,否则报错

                        

                ② 设置外键后,主表中删除数据时,必须保证该数据在从表中没有被使用,否则报错

                        

        查看外键的名称: 

               右键--->设计表--》外键

                

        删除外键:alter table 从表名 drop foreign key 外键名

                 

猜你喜欢

转载自blog.csdn.net/chengdiyiyo/article/details/121019472