数据库语法

163 阅读1分钟

数据库创建

  • 创建表
CREATE TABLE IF NOT EXISTS `student` (
	`id` int(10) NOT NULL COMMENT 'id',
	`name` VARCHAR(30) NOT NULL COMMENT '姓名',
	`password` 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
  • 常用命令
    1. SHOW CREATE DATABASE school -- 查看创建数据库的语句
    2. SHOW CREATE TABLE student -- 查看创建表的语句
    3. DESC student -- 显式表结构

MYISAM 和 InnoDB 引擎的区别

  • 基本区别
MYISAMInnoDB
事务支持不支持支持
数据行锁定不支持支持
外键约束不支持支持
全文索引支持不支持(MySQL8.0以上支持)
表空间的大小较小较大(约为MYISAM的两倍)
  • 优点

    1. MYISAM : 节约空间,速度较快
    2. InnoDB : 安全性高,支持事务,支持多表多用户操作
  • MySQL中所有的数据实际上都存在data目录下,本质还是文件的存储

修改和删除表

  • 修改表名
ALTER TABLE 旧表名 RENAME AS 新表名
  • 增加表字段
ALTER TABLE 表名 ADD 列名 列属性
  • 修改表的字段属性,约束
ALTER TABLE 表名 MODIFY 字段名 字段属性
  • 修改表的字段名
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 字段属性
  • 删除表字段
ALTER TABLE 表名 DROP 字段名
  • 删除表
DROP TABLE IF EXISTS 表名