博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql笔记(18)--创建表,修改表结构
阅读量:3957 次
发布时间:2019-05-24

本文共 1446 字,大约阅读时间需要 4 分钟。

关于使用sql创建表的样例:

-- mysql_must_study.orders definitionCREATE TABLE `orders` (  `order_num` int NOT NULL AUTO_INCREMENT,  `order_date` datetime NOT NULL,  `cust_id` int NOT NULL,  PRIMARY KEY (`order_num`),  KEY `fk_orders_customers` (`cust_id`),  CONSTRAINT `fk_orders_customers` FOREIGN KEY (`cust_id`) REFERENCES `customers` (`cust_id`)) ENGINE=InnoDB AUTO_INCREMENT=20010 DEFAULT CHARSET=utf8;
  • CREATE TABLE 关键字
  • 如果你仅想在一个表不存在时创建它,应该在表名后给出IF NOT EXISTS。
  • NULL值就是没有值或缺值,NOT NULL 不允许为空。
  • 空串是一个有效的值,它不是无值NULL
  • PRIMARY KEY (order_num) 指定列为主键,可以逗号分隔多个列作为主键
  • 主键中只能使用不允许NULL值的列 允许NULL值的列不能作为唯一标识
  • AUTO_INCREMENT 告诉MySQL,本列每当增加一行时自动增量
  • 每个表只允许一个 AUTO_INCREMENT 列,而且它必须被索引(如,通过使它成为主键
  • last_insert_id() 函数获得最后一个 AUTO_INCREMENT 的值,方便插入行
SELECT last_insert_id(note_id)FROM productnotes p ;

在这里插入图片描述

  • DEFAULT关键字指定行的默认值,最好使用默认值而不是NULL,便于计算和分组。
  • 么ENGINE=语句指定数据库引擎

在这里插入图片描述

  • 外键不能跨引擎,即使用一个引擎的表不能引用具有使用不同引擎的表的外键
  • 更新表定义,可使用ALTER TABLE语句
    在这里插入图片描述
  • ALTER TABLE的一种常见用途是定义外键:使用类似语法
CONSTRAINT `fk_orders_customers` FOREIGN KEY (`cust_id`) REFERENCES `customers` (`cust_id`)

在这里插入图片描述

  • 在对表结构操作前注意备份

  • DROP TABLE 删除表

    在这里插入图片描述

  • RENAME TABLE语句可以重命名一个表:

    在这里插入图片描述

总结:

  • create table 创建表

    • 自增 AUTO_INCREMENT
    • 主键 PRIMARY KEY
    • 外键 也可以在更新表时创建
      CONSTRAINT `fk_orders_customers` FOREIGN KEY (`cust_id`) REFERENCES `customers` (`cust_id`)
    • last_insert_id() 函数 获得该列最后一个自增值,方便之后插入数据
    • DEFAULT 指定默认值
    • ENGINE=语句指定数据库引擎
      • InnoDB 事务处理
      • MEMORY 功能等同 MyISAM ,数据放在内存,速度快
      • MyISAM 支持全文本搜索,不支持事务处理
  • ALTER TABLE 更新表

    • ADD 添加列
    • DROP 删除列
  • DROP TABLE 删除表

  • RENAME TABLE 语句可以重命名一个表

  • 操作表结构前记得备份操作

转载地址:http://upozi.baihongyu.com/

你可能感兴趣的文章
[Perl] 关于 Bugzilla 的一些问题与研究
查看>>
[Linux] 常用 linux 系统命令及维护备忘
查看>>
[Linux] 关于 Ext4 HowTo
查看>>
[杂记] 新年物语&关于Mysql引擎性能测试
查看>>
[心得] 近期更新&关于Infobright
查看>>
[杂记] 流量统计 & 短信接口
查看>>
[Java] JRebel + Maven + Jetty 热部署
查看>>
[算法] 从 Memcached 分布式应用看一致性哈希散列函数的选择
查看>>
[中间件] 消息处理利器 ActiveMQ 的介绍 & Stomp 协议的使用
查看>>
[设计] 原型界面设计利器 Balsamiq Mockups 推荐
查看>>
[闲话] 在西方的程序员眼里,东方的程序员是什么样的
查看>>
[管理] 成功之路的探寻 —— “三力” 理论
查看>>
[连载] Socket 深度探索 4 PHP (一)
查看>>
[连载] Socket 深度探究 4 PHP (二)
查看>>
[连载] Socket 深度探究 4 PHP (三)
查看>>
[无线] Android 系统开发学习杂记
查看>>
[无线] 浅析当代 LBS 技术
查看>>
[杂感] 缅怀乔布斯
查看>>
[无线] 让Android支持cmwap上网
查看>>
[教程] Android PHP 最佳实践视频教程
查看>>