MySQL:创建数据库表

--学号int,登录密码varchar(20),姓名varchar(2), 出生日期(datatime), 家庭住址,emal
--注意点,使用英文(),表的名称和字段尽量使用``括起来

--AUTO_INCREMENT  自增
--字符串使用  ''单引号括起来
--所有语句后面加,(英文的,),最后一个不用加

CREATE TABLE IF NOT EXISTS `student` (
`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
`name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
`pwd` varchar(20) NOT NULL DEFAULT '123456' COMMENT '密码',
`sex` VARCHAR(2) NOT NULL DEFAULT '女' COMMENT '性别',
`birthday` DATETIME DEFAULT NULL COMMENT '出生日期',
`address` VARCHAR(50) DEFAULT NULL COMMENT '家庭住址',
`email` VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY(`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8

格式

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

常用命令

SHOW CREATE DATABASE school --查看创建数据库的语句
SHOW CREATE TABLE student  --查看创建表的定义语句
DESC student  --显示表的结构

MyISAM和InnoDB区别
数据库引擎
InnoDB 默认使用
MyISAM 早期使用

项目 MYISAM INNODB
事务支持 不支持 支持
数据行锁定 不支持 支持
外键 不支持 支持
全文索引 支持 不支持
表空间大小 较小 较大 (约为两倍)

常规使用操作:

  • MYISAM 节约空间,速度较快
  • INNODB 安全性高,支持事务处理,有外键可以多表操作

在物理空间存在的位置
所有的数据库文件都存在data目录下
本质还是文件的存储!

MySQL引擎在物理文件上的区别

  • InnoDB在数据库表中只有一个*.frm文件,以及上级目录下的ibdata1文件
  • MyISAM对应文件
    • *.frm -表结构的定义文件
    • *.MYD -数据文件(data)
    • *.MYI -索引文件(index)

设置数据库表的字符集编码

CHARSET=utf8
不设置的话会使用MySQL默认的编码,Latin1,不支持中文
可以在my.ini中修改默认配置 character-set-sever=utf8

posted @ 2021-03-17 09:47  UltraBlast  阅读(144)  评论(0)    收藏  举报