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


    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关键字大小写不敏感,建议都用小写
    • 所有用到的符号
    刚刚参加工作,很有很多不懂不会的,发现错误,欢迎指正,谢谢!
  • 相关阅读:
    关于String
    MySQL中count(1)、count(*) 与 count(列名) 的执行区别?
    OSC的原理
    [java] 模拟QPS
    [java] 简单的ConcurrentHashMap
    [java] 线程池
    [Guava] EventBus
    [jvm]垃圾回收算法
    [zookeeper] Zookeeper概述
    [NS2]TCL语言基本语法
  • 原文地址:https://www.cnblogs.com/xd-study/p/13436967.html
Copyright © 2020-2023  润新知