二、MySQL数据表操作

1. 创建数据库表

示例

CREATE TABLE IF NOT EXISTS `student`(
	`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
	`name` VARCHAR(10) NOT NULL DEFAULT '匿名' COMMENT '姓名',
	`sex` VARCHAR(2) NOT NULL DEFAULT '女' COMMENT '性别',
	`birthday` DATETIME COMMENT '出身日期',
	`address` VARCHAR(100) DEFAULT NULL COMMENT '地址',
	`email` VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
	PRIMARY KEY(`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8;

格式

CREATE TABLE [IF NOT EXISTS] 表名(
  '字段名' 列类型 [属性] [索引] [注释],
  '字段名' 列类型 [属性] [索引] [注释],
  ......
  '字段名' 列类型 [属性] [索引] [注释]
)[表类型][字符集设置][注释]

注意点

  1. ()使用应为的符号
  2. 表的名称和字段的名称尽量使用``符号括起来
  3. AUTO_INCREMENT 自增
  4. 字符串使用单引号括起来
  5. 所有的语句后面加 , 最后一句不加
  6. PRIMARY KEY 主键,一般一个表只有一个主键

2. MyISAM和InnoDB的区别

MyISAM InnoDB
事务支持 不支持 支持
数据行锁定 不支持 支持
外键约束 不支持 支持
全文索引 支持 不支持
表空间的大小 较小 较大,约为2倍

常规使用选择:

  • MYISAM: 节约空间,速度较快
  • INOODB: 安全性高,事务的处理,多表多用户操作

3. 修改和删除数据表的字段

显示表的结构用 DESC student

-- 修改表的名字
ALTER TABLE teacher RENAME student;
-- 向表中增加字段
ALTER TABLE student ADD `score` INT(3);
-- 修改表的字段
ALTER TABLE student MODIFY score FLOAT(2);  -- 修改约束
ALTER TABLE student CHANGE score score2 INT(2);  -- 重命名字段
-- 删除表的字段
ALTER TABLE student DROP score2;

4. 删除数据库表

-- 删除表
DROP TABLE IF EXISTS student;
posted @ 2021-04-26 21:36  LucaZ  阅读(62)  评论(0编辑  收藏  举报