MySQL中,Boolean型就是tinyint。
建表案例:创建某高端白领私密社交网站。username、id、gender、weight、birth、salary、lastlogin、
除了username和intro外,其他的列都定长,因此不妨让其所有列都定长,这样会带来查找效率和速度上的极大提高。
username:char(20) intro:char(1500)却浪费得太多了,另一方面,人的简介一旦注册完,改的频率也不是很高,因此我们可以把intro列单独拿出来,放到另一张表里。

在开发中,会员信息的优化往往是把频繁用到的信息,优先考虑效率,存储到一张表中,不常用的信息和比较占据空间的信息,优先考虑空间占用,存储到辅表中。

建表:

#所谓建表,就是一个声明列的过程
#重点:如何设置合适的列类型
create table member(
id int unsigned auto_increment primary key,
#auto_increment表示自增,primary key表示主键
username char(20) not null default '',
gender char(1) not null default '',
weight tinyint unsigned not null default 0,
birth date not null default '0000-00-00',
salary decimal(8,2) not null default 0.00,
lastlogin int unsigned not null default 0
)engine myisam charset utf8;

修改表:
alter table 表名 add 列名称 列类型 列参数;

#先随便建一个表:
create table m1(
id int unsigned auto_increment primary key
)engine myisam charset utf8;#开始仿照上面那张表修改
alter table m1 add username char(20) not null default '';
alter table m1 add birth date not null default '0000-00-00';


发现新加的列在表的最后。如何在前面加呢?

alter table 表名 add 列名称 列类型 列参数 after 某列【把新列加在某指定列后】

alter table m1 add gender char(1) not null default '' after username;


如果想新建一个列,且在表的最前面,用first:
alter table 表名 add 列名称 列类型 列参数 first【把新列加在最前面】

alter table m1 add pid int not null default 0 first;


删除列:alter table 表名 drop 列名

修改列类型:alter table 表名 modify 列名 新类型 新参数;

#注意:modify 不能改列名。
alter table m1 modify gender char(4) not null default '';


修改列名和列类型:alter table 表名 change 旧列名 新列名 新类型 新参数;

alter table m1 change id uid int unsigned ;
#本身的primary key是不会变的。

MySQL燕十八老师课程笔记:第五课:建表相关推荐

  1. MySQL燕十八老师课程笔记:第九课:having筛选

    回顾之前做过的一道题:查询本店价比市场价省的钱,并且要求省钱200元以上的取出来 select goods_id,market_price,shop_price,(market_price-shop_ ...

  2. MySQL燕十八老师课程笔记:第二课:增删改查

    增: tee D:\1010.sql 回车后显示:Logging to file 'D:\1010.sql' 这句话是把敲的sql及结果都输出到一个sql文件里,便于复习. create table ...

  3. MySQL燕十八老师课程笔记:第十六课:MySQL各个函数

    # 在给商品打八八折的基础上抹掉零头 select goods_id,goods_name,floor(shop_price*0.88) from goods where cat_id=4; # 给每 ...

  4. MySQL燕十八老师课程笔记:第十五课:union

    union:合并两条或多条语句的结果. 语法:sql1 union sql2 # 要求查出价格低于100元和价格高于4000元的商品,要求不能用or# 先查低于100元的商品 select goods ...

  5. MySQL燕十八老师课程笔记:第六课:商品表的各种按条件查询

    老师下了ecshop,我看有弹幕同学说:"可以下,但没必要",我就没下. 查询: #先模拟ecshop建一个小型的商品表 create table goods( goods_id ...

  6. MySQL燕十八老师课程笔记:第十七课:视图

    # 查询每个栏目下商品的平均价格,并取平均价前3高的栏目 select cat_id,avg(shop_price) as pj from goods group by cat_id order by ...

  7. MySQL燕十八老师课程笔记:第十九课:事务

    什么是事务? 将一个业务下的SQL语句作为一个单元统一操作==>"同生共死"[myisam不支持事务] 例如:A转账500给B,打完之后A减少500,B增加500,如果这两个 ...

  8. MySQL燕十八老师课程笔记:第十一课:子查询

    # 查出本网站最新的(goods_id)最大的一条商品 # 思路:按goods_id desc排序,再取第一行 select goods_id,goods_name from goods order ...

  9. html css燕十八,燕十八_divcss教学笔记.doc

    燕十八_divcss教学笔记 第一天 Html 三部分 1:文档声明 文档声明很重要,直接影响浏览器的渲染效果. 不属于html文档的一部分,不用闭合. 2:head区域 网页的标题 3: body区 ...

最新文章

  1. 04号团队-团队任务5:项目总结会
  2. 正则:匹配一个汉字姓名
  3. Spring-Boot:写出来的网站访问不到静态资源?怎样通过url访问SpringBoot项目中的静态资源?localhost:8989/favicon.ico访问不了工程中的图标资源?
  4. on java 8学习笔记
  5. 远程接入-天翼5系统让ERP穿越时空!
  6. 介绍一个修改 Visual Studio Code 侧边框颜色的扩展 Peacock
  7. 两个摄像头合成一路_教你把一个摄像机添加到两台录像机
  8. aix 查看防火墙状态_Linux 7.x 防火墙amp;端口
  9. 剑指_复杂链表的复制(Python)
  10. 中南大学计算机学院羽毛球赛,我校第四届“四海一家亲”羽毛球邀请赛成功举行...
  11. 管家婆登录服务器未响应,管家婆辉煌登录点击下一步没有反应解决办法
  12. chrome浏览器清理缓存也没有用,每次必须重启怎么办?
  13. 云服务器常见的几种防护方法
  14. 哪些客户群体适合使用云服务器?
  15. PPT文件不能编辑怎么办?
  16. 如何从8 道面试题中,看出浏览器渲染过程与性能优化
  17. JavaScript 去除数组中重复的元素 得到新数组
  18. 移动WEB开发四、rem布局
  19. 借助信息化江苏华地摆脱低价竞争魔咒
  20. Vue —— vue相关面试题分享

热门文章

  1. magento 赠品_免费赠品发布:“ Left Behind”壁纸
  2. 智联招聘数据爬取准备(2)-招聘信息页面及企业主页源码解析
  3. Boyd Corporation全力投入苹果公司的清洁能源项目
  4. 用java写一个四则运算计算器
  5. idea乱码终极解决方案
  6. 电脑优化、电脑加速的方法
  7. 666-集群聊天服务器项目总结
  8. RustCon Asia 讲师和议程公布
  9. 水波纹特效的C++模拟
  10. 占PC市场四成份额,联想是怎样“圈定”年轻人的?