Mysql学习笔记 Day3 0302

  • Day3
  • 1、创建数据库表(重点)
  • 2、MyISAM和InnoDB区别(数据库引擎)


Day3

Mysql学习以及回顾。

1、创建数据库表(重点)

--- 目标:创建一个school数据库
--- 创建学生表(列,字段) 使用SQL创建
--- 学号int 登录密码varchar(20) 姓名,性别varchar(2),出生日期(datetime),家庭住址,email
-- 注意点,使用英文(),表的名称和字段尽量使用``括起来
-- AUTO INCREMENT 自增 
-- DEFAULT 默认
-- COMMENT 注释
-- 字符串使用 单引号 括起来
-- 所有的语句后面加,(英文的),最后一个不用加
-- 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] `表名`(
  '字段名' 列类型 [属性][索引][注释],
  '字段名' 列类型 [属性][索引][注释],
  '字段名' 列类型 [属性][索引][注释],
  ...
   '字段名' 列类型 [属性][索引][注释] --最后一行就没有逗号
)[表类型][字符集设置][注释]

如果不会写,可以sqlyog上创建database和table,然后show出语句

mysql手机号带星号的如何进行解密 mysql学号用什么表示_mysql


常用命令

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

2、MyISAM和InnoDB区别(数据库引擎)

数据表的类型

mysql手机号带星号的如何进行解密 mysql学号用什么表示_mysql_02


INNODB 默认使用

MYISAM 早些年使用

区别

MYISAM

INNODB

事务支持

不支持

支持

数据行锁定

不支持

支持

外键约束

不支持

支持

全文索引

支持

不支持

表空间的大小

较小

较大,约为2倍

常规使用操作:

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

在物理空间存在的位置
所有的数据库文件都在data目录下,一个文件夹就对应一个数据库
本质上还是文件的存储!
MySQL引擎在物理文件上的区别

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

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

CHARSET=utf8

不设置的话,就会是mysql默认的字符集编码~(不支持中文!)
MySQL的默认编码是Latin1,不支持中文
在my.ini 中配置默认的编码

character-set-server=utf8

直接在表里创建,避免他人没做设置

mysql手机号带星号的如何进行解密 mysql学号用什么表示_数据库_03