数据表的类型和如何修改删除表

2.5、数据表的类型

-- 关于数据库的引擎
/*
	INNODB  	 默认使用
	MYISAM		早些年使用的
*/

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

常规使用操作:

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

在物理空间存在的位置

所有的数据库文件都存在data目录下,一个文件夹就对应一个数据库

本质还是文件的存储!

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

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

CHARSET utf8      --在创建表的时候加上,设置成支持中文的字符集编码

不设置的话会是mysql默认的字符集编码 (不支持中文!)

Mysql的默认的字符集编码是Latin1,不支持中文

注意:可以在my.ini中配置默认的编码

character-set-server=utf8           (不建议,只设置了本地的字符集编码)

2.6、修改删除表

修改表

-- 修改表名	ALTER TABLE   旧表名   RENAME  AS    新表名
ALTER TABLE teacher RENAME  AS teacher1
-- 增加表的字段		ALTER TABLE    表名   ADD    字段名   字段的列属性
ALTER TABLE teacher1 ADD id INT(11) 	
-- 修改表的字段   (重命名,修改约束)
-- 修改约束  ALTER TABLE 表名 MODIFY 字段名 列属性 
ALTER TABLE teacher1 MODIFY age VARCHAR(11)        -- 修改约束
-- 字段重命名  ALTER TABLE 表名 CHANGE 旧字段名 新字段名 列属性
ALTER TABLE teacher1 CHANGE age age1 INT(11)	-- 字段重命名

删除表

-- 删除表(如果存在再删除)
-- DROP TABLE (IF EXISTS) 表名
DROP TABLE IF EXISTS teacher1

所有的删除和创建尽量加上判断,一脉你报错

注意点:

  • 所有的字段名和表名尽量用``包裹
  • 注释 -- 或 /* */
  • sql关键字大小写不敏感,建议都用小写
  • 所有用到的符号
posted @ 2020-08-04 23:10  小徐学狂  阅读(192)  评论(0编辑  收藏  举报