Mysql数据库(2)

字段约束条件:

Null  是否允许给字段赋空(null)值,默认为允许赋空值,空值关键字为“null”

字段名    类型(宽度) not null  

Key 字段是否为索引字段

Default 字段的默认值,不设置时默认值的值为空,当给字段赋值时,如果没有给字段赋值使用默认值赋值,默认值得值要与字段的类型匹配

字段名   类型(宽度) default  默认值

Extra   额外设置,不设置时为空(字段的描述或自动增长设置)

注:  insert into 表名(字段名)  values ("内容");  给专门的字段赋值

 

修改表结构:

alter table 表名   执行动作;

添加新字段: 

add 字段名(宽度)  约束条件;

alter table 表名 add 字段名(宽度) 约束条件 after 字段名2;将新字段放到字段2 的下面

alter table 表名 add 字段名(宽度) 约束条件 first;将新字段放到最前面

默认放到所有字段之后

用','号间隔add语句,可以同时添加多个字段

删除已有字段:   

drop 字段名;删除当前字段

drop 字段名,drop 字段名;   同时删除两个字段

注: 字段消失,相对应的值也就没了,谨慎操作。

修改字段类型:

modify 字段名(宽度) 约束条件;

注:新类型和已有的值冲突时,不允许修改

修改字段名:

change  源字段名   新字段名  类型  约束条件;

注:改名时,需要将后面的类型和约束条件抄上或者修改;

        change 只能用于改名,如需修改类型必须同时改名;

修改表名:

alter table 源表名  rename 新表名;

注:新表名不能与源表名相同

注:数值类型的宽度是显示宽度,不能够限制字段值的大小,字段值的大小有类型决定。

        字符类型的宽度可以限制字段值的大小。

       zerofill  : 指的是用”0”填充。例:id int(5) zerofill 

Mysql索引类型:

什么是索引:相当于书的目录

好处:加快查询的速度(select)

坏处:占用存储空间,影响写的速度(insert、delete、update)

mysql索引类型 (fulltext(全文索引)、index(普通索引)、unique(唯一索引)、primary key(主键)、foreign key(外键))

show index from 表名; 查询当前表中所有普通索引

show index from 表名\G;按行显示每个字段

Table :表名

Key_name:索引名

Column_name :字段名 

Index_type :   算法

BTREE 算法 (二叉树算法):mysql默认使用算法

创建普通索引 index

普通索引使用规则:

   一个表里面可以有多个index字段

 字段值可以重复,也可以赋null值

  标志:MUL

 通常把用来做查询条件的字段设置为index字段

新创建表时,直接创建索引:

创建表之后:

create index 索引名 on 表名(字段名);创建索引

drop index 索引名 on 表名;删除索引

where 字段名=值       “where”查询条件;

 

创建主键primary key

主键使用规则:

  表中只能有一个主键

  字段的值不允许重复也不允许赋null值

  通常与auto_increment 属性一起使用,功能让字段自动增长(字段类型必须是数值类型,字段必须是主键)

把表中能唯一定位到一条记录的字段设置为主键字段(记录标号字段设置为auto_increment(自动增长))

  标志:PRI

建表时创建主键

删除主键:

alter table 表名 drop primary key;

在已有表里创建主键(表里面的值必须与主键的规则相符):

alter table 表名  add primary key (字段名);

复合主键(多个字段一起做主键):只要多个字段的值不同时相同就可以

     主键必须同时创建,不能先创建一个再创建一个。

     创建方法与主键相似

 

unique 索引的使用规则

   一个表里可以有多个unique索引

   字段里面的值不可以重复,但是可以赋null值

   标志UNI

建表时:

     

在已有的表里创建:

create unique index 索引名 on 表名(字段名);创建unique索引

drop index 索引名 on 表名; 删除unique索引

 

创建外键 foreign key

功能:让当前表中字段的值,只能在另一个表中的字段值的范围里选择

on update cascade :同步更新

on delete cascade  :同步删除

使用规则:

表的存储引擎必须是innodb

被参考字段必须是索引的一种。(主键比较合理)

字段类型必须匹配

show create table 表名 :通过查看建表过程来看是否有外键。

alter table 表名 drop foreign key 索引名;删除外键

alter table 表名 add foreign key(字段名)references 关联表名(字段名) on update cascade on delete cascade;创建外键

当表被别人参考时,不允许删除,被参考字段也不可以;

 

  

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值