mysql关键字不区分大小写
创建数据库:
CREATE DATABASE IF NOT EXISTS yuanyu;
删除数据库:
DROP DATABASE IF EXISTS school;
使用数据库:
USE boot;
如果表名或字段名是一个特殊字符,则需要加上反引号``
查看数据库:
SHOW DATABASES; --查看所有数据库
对照SQLyog可视化历史记录查看SQL
数值
字符串
时间日期
null
建议不要使用null进行计算,结果为null
Unsigned:
zerofill:
自增:
通常用来设计唯一的主键-index,必须是整数类型
可以自定义设计主键自增的起始值和步长
非空:
每一张表都应该存在该五个字段:
-- 注意使用英文括号,表名和字段名尽量使用反引号括起来 -- 字符串尽量使用单引号括起来 -- 所有的语句后面加逗号,最后一个不用加 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 '12345' COMMENT '密码', `sex` VARCHAR(2) NOT NULL DEFAULT '女' COMMENT '性别', `birthday` DATETIME DEFAULT NULL COMMENT'出生日期', `address` VARCHAR(190) DEFAULT NULL COMMENT'家庭住址', `email` VARCHAR(50) DEFAULT NULL COMMENT'邮箱', PRIMARY KEY (`id`) )ENGINE=INNODB DEFAULT CHARSET=utf8
显示表的结构:
DESC student
复制内容如下:
CREATE TABLE student
(
id
int NOT NULL AUTO_INCREMENT COMMENT '学号',
name
varchar(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
pwd
varchar(20) NOT NULL DEFAULT '12345' COMMENT '密码',
sex
varchar(2) NOT NULL DEFAULT '女' COMMENT '性别',
birthday
datetime DEFAULT NULL COMMENT '出生日期',
address
varchar(190) DEFAULT NULL COMMENT '家庭住址',
email
varchar(50) DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
关于数据库引擎
MYISAM | INNODB | |
---|---|---|
事务支持 | 不支持 | 支持 |
数据行锁定 | 不支持(表锁) | 支持(行锁) |
外键约束 | 不支持 | 支持 |
全文索引 | 支持 | 不支持 |
表空间大小 | 较小 | 较大(约两倍) |
常规使用:
在物理空间存在的位置
所有的数据库文件都存在于Data目录下,一个文件夹对应一个数据库,本质还是文件的存储
Mysql引擎在物理空间上的区别
设置数据库表的字符集编码
CHARSET = utf8
MySQL的默认编码是Latin1,不支持中文
可以在创建的时候设置字符集编码
或者在my.ini中配置
character-set-server=utf8