--目标:创建一个school数据库
--创建学生表(列,宁段)使用sQL创建
--学号int登录密码varchar(20)姓名,性别varchar(2),出生日期(datatime) ,家庭住址, email
-- 注意点,使用英文(),表的名称和字段尽量使用``括起来
-- AUTO_INCREMENT 自增
-- 字符串使用单引号括起来!
-- 所有的语句后面加 ,(英文的),最后一个不用加
-- PRIMARY KEY 主键,一般一个表只有一个唯一的主键!
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(100) 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 -- 查看student数据表的定义语句
DESC student -- 显示表的结构
数据表的类型:
-- 关于数据库引擎
/*
INNODB 默认使用
MYISAM 早些年使用的
*/
MYISAM | INNODB | |
事务支持 | 不支持 | 支持 |
数据行锁定 | 不支持 | 支持 |
外键约束 | 不支持 | 支持 |
全文索引 | 支持 | 不支持 |
表空间的大小 | 较小 | 较大,约为2倍 |
常规使用操作:
MYISAM 节约空间,速度较快
INNODB 安全性高,事务的处理,多表多用户操作
在物理空间的位置:
(1)所有的数据库文件都存在data目录下
(2)本质还是文件的存储!
MySQL引擎在物联文件上的区别:
(1)INNODB在数据库表中只有一个*.frm 文件,以及上级目录下的 ibdata1 文件
(2)MYISAM对应文件
~*.frm 表结构的定义文件
~*.MYD 数据文件(data)
~*.MYI 索引文件
设置数据库表的字符集编码
CHARSET=utf8
不设置的话,会是mysql默认的字符及编码~ (不支持中文!)
MySQL的默认编码是Latin1,不支持中文
在my.ini中配置默认的编码
character-set-server=utf8
SHOW CREATE DATABASE school -- 查看数据库的语句
SHOW CREATE TABLE student -- 查看student数据表的定义语句
DESC student -- 显示表的结构