数据库随笔 三

扩展

char 和 varchar 有什么区别

  • char为定长字符串,char(n),n最大为255;
  • varchar为不定长字符串,varchar(n),n最大为65535;
  • char(10)和varchar(10)存储abc有什么差别?
    char保存10字符,其他位置会用空格补齐;
    varhar只需要用abc三个位置。

datetime 和 timestamp有什么区别?

  • 数据库字段提供对日期类型的支持,是所有数据类型中最麻烦的一种数据;
  • date 是年月日;
  • time 是时分秒;
  • datetime 是年月日时分秒,存储和显示是一样的;
  • timestamp 是时间戳,存储的不是日期,是从1970年1月1日到指定日期的毫秒数。

中文乱码

  • 在dos命令窗口下执行insert插入中文数据是乱码,在sqlyog客户端执行
set names gbk;
  • 在创库时指定字符集
create databases user charset utf8;

注释

  • /* */ 表示多内容注释。
  • 表示行注释。

  • — 表示行内注释。

主键、外键和唯一索引的区别

  • Primary Key 主键约束,自动创建唯一主键;
  • Foreign Key 外键约束,外键字段的内容是引用另一表的字段内容,不能乱写;
  • Unique Index 唯一索引,唯一值但不是主键。

drop、delete和truncate之间的区别

  • drop 删除库或表,数据和结构定义;
  • delete 和 truncate 只是删除表的数据;
  • delete 可以指定where条件,删除满足条件的记录,truncate 删除所有记录;
  • 对于自增字段的表,delete不会自增值清零,而truncate是把表记录和定义都删除了,然后重建表的定义,所以主键会从头开始计数。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值