列属性


    列属性:真的约束字段的数据类型,但是数据类型的约束很单一,需要有一些额外的约束,来保证数据的合法性



    列属性有很多:NULL/NOT NULL,default,Primary key,unique key,auto_increment,comment




    空属性  


               两个值:NULL(默认的)/NOT NULL(不为空)


          


               虽然默认的,数据库基本都是字段为空,但是实际上在真实开发的时候,尽可能的要保证所有的数据都不应该为空:空数据没有意义;空数据没有办法参与运算



              创建一个实际案例表:班级表(名字,教师)


             

mysql中column is not updatable怎么办 mysql中column什么意思_mysql




   列描述


              列描述 :comment描述,没有实际含义:是专门用来描述字段,会根据表创建语句保存:用来给程序猿(数据库管理员)来进行了解的


             

mysql中column is not updatable怎么办 mysql中column什么意思_初学者_02




   默认值


        默认值:某一种数据会经常性的出现某个具体的值,可以在一开始就指d定好,在需要真实数据的时候,用户可以选择性的使用默认值


            


        默认值关键字:default


          

mysql中column is not updatable怎么办 mysql中column什么意思_mysql_03


     


       默认值的生效:使用,在数据进行插入的时候,不给改字段赋值


     

mysql中column is not updatable怎么办 mysql中column什么意思_大学生_04


    想要使用默认值,可以不一定去指定列表,故意不使用字段列表;可以使用default关键字代替


      

mysql中column is not updatable怎么办 mysql中column什么意思_初学者_05



  主键


          主键:primary key,一张表只能有一个字段可以使用对应的键,用来唯一的约束该字段里面的数据,不能重复




         一张表只能有最多一个主键


       增加主键


          sql操作中有多种方式可以给表增加主键:大体分为三种


         


         方案一:在创建表的时候,直接在字段之后,跟primary key关键字(主键本身不允许为空)


                        

mysql中column is not updatable怎么办 mysql中column什么意思_免费_06



                     优点:非常直接;缺点:只能使用一个字段作为主键


         方案二:在创建表的时候,在所有的字段之后,使用peimary key(主键字段列表)来创建主键(如果有多个字段作为主键,可以是复合主键)


                    

mysql中column is not updatable怎么办 mysql中column什么意思_免费_07


     方案三:当表已经创建好之后,额外追加主键,可以通过修改字段属性,也可以直接追加(前提表中字段对应的数据本身是独立的(不重复的))


                   Alter table 表名 add primary key (字段列表);


                     

mysql中column is not updatable怎么办 mysql中column什么意思_mysql_08


              主键约束


                              主键对应的字段中的数据不允许重复:一旦重复,数据操作失败(增和改)


              更新主键&删除主键


                              没有办法更新主键:主键必须先删除,才能增加


                         


                             Alter table 表名 drop primary key;


                             

mysql中column is not updatable怎么办 mysql中column什么意思_mysql_09


              主键分类


                      在实际创建表的过程中,很少使用真实业务数据作为主键字段(业务主键,如学号,课程号);大部分的时候是使用逻辑性的字段(字段没有业务含义,值是什么                         都没有关系),将这种字段主键称为逻辑主键。


                


                          Create table my_student(


                               Id int primary key auto_increment comment '逻辑主键:自增长',-----逻辑主键


                              Number char(10) not null comment '学号',


                              Name varchar(10)not null


                            ) 


  自动增长


        自增长:当对应的字段,不给值,或者说给默认值,或者给Null的时候,会自动的呗系统触发,系统会从当前字段中已有的最大值再进行+1操作,


                        得到一个新的在不同的字 段。



        自增长通常是跟主键搭配       


      新增自增长


        自增长特点:auto_increment


         1.    任何一个字段要做自增长必须前提是本身是索引(key一栏有值)


         2.     自增长字段必须是数字(整型)


         3.    一张表最多只有一个自增长


         

mysql中column is not updatable怎么办 mysql中column什么意思_免费_10


       自增长使用


              当自增长被给定的值为null,或者默认值的时候会触发自动增长


              

mysql中column is not updatable怎么办 mysql中column什么意思_大学生_11



              自增长如果对应得字段输入了值,那么自增长失效:但是下一次还是能够正确地自增长(从最大值+1)


               

mysql中column is not updatable怎么办 mysql中column什么意思_mysql_12


               可以通过查看表创建语句查看


              

mysql中column is not updatable怎么办 mysql中column什么意思_sql_13


          修改自增长


               自增长如果涉及到字段改变:必须先删除自增长,后增加(一张表只能有一个自增长)


             


               修改当前自增长已经存在的值:修改只能比当前已有的自增长的最大值大,不能小,小不生效


              Alter table 表名 auto_increment=值;


              

mysql中column is not updatable怎么办 mysql中column什么意思_mysql_14


             向上修改可以


                

mysql中column is not updatable怎么办 mysql中column什么意思_大学生_15



            为什么自增长是从1开始?为什么每次都是自增1?


            所有系统的变现(如字符集,校对集)都是有系统内部的变量进行控制的。


            查看自增长对应的变量:show variables like ‘auto_increment%’;


          

mysql中column is not updatable怎么办 mysql中column什么意思_mysql_16


          可以修改变量实现不同效果:修改是对整个数据修改,而不是单张表:(修改是会话级)


          Set  auto_increment_increment=5;——   一次增长5


                       

mysql中column is not updatable怎么办 mysql中column什么意思_mysql_17


      删除自增长


               自增长是字段的一个属性:可以通过modify来进行修改(保证字段没有auto_increment即可)


               Alter table 表名 modify 字段  类型;


                

mysql中column is not updatable怎么办 mysql中column什么意思_mysql_18


    唯一键


         一张表往往有很多字段需要具有唯一性,数据不能重复:但是一张表只能有一个主键:唯一键(unique key)就可以解决表中有多个字段需要唯一性约束的问题



        唯一键的本质与主键差不多:唯一键默认的允许自动为空,而且可以多个为空(空字段不参与唯一性比较)


           


          增加唯一键


                基本与主键差不多:三种方案


                


               方案1:在创建表的时候,字段之后直接跟unique/unique key


              

mysql中column is not updatable怎么办 mysql中column什么意思_mysql_19



            方案2:在所有的字段之后增加unique key (字段列表);——复合唯一键


              

mysql中column is not updatable怎么办 mysql中column什么意思_免费_20

 


            方案三;在创建表之后增加唯一键


          

mysql中column is not updatable怎么办 mysql中column什么意思_初学者_21



      唯一键约束


          唯一键与主键本质区别相同:唯一的区别就是唯一键默认允许为空,而且是多个为空


         

mysql中column is not updatable怎么办 mysql中column什么意思_sql_22


          如果唯一键也不允许为空:与主键的约束作用是一致的,


     更新唯一键&删除唯一键


        更新唯一键:先删除后新增(唯一键可以有多个:可以不删除)


      


         删除唯一键


         Alter table 表名 drop index 索引名字;---唯一键默认的使用字段名作为索引名字


      

mysql中column is not updatable怎么办 mysql中column什么意思_大学生_23