表的操作

表的操作

创建表

    表是用于结构化存储数据,表不能脱离字段单独存在,字段就是用来对数据类型进行约束。所以表就是对不同数据类型约束的一集合。

语法:

create table 表名(

字段名 字段类型 【附加属性】,

字段名 字段类型 【附加属性】,

....

)【表选项】

说明:

    同一个字段内的相关信息之间使用空格,不同字段之间使用','最后一个字段后不需要使用','

    创建一个表仅仅定义了字段类型,字段的附属属性,就是表结构(表头)

 

表选项:

charset        用于设置存储数据的字符集

collation    针对表的存储字符集的一种校验规则

engine        存储引擎,主要负责对数据的存储与读取

collation校验集:

查看检验集:

检验集一般是以ci、bin、cs结尾

bin        使用unicode码进行比较(可以理解为区分大小写)

ci        不区分大小写

cs        区分大小写

engine:存储引擎

innodb     支持事务

myisam        不支持事务

校验集示例:

如何使用校验集,在绝大多数情况下不需考虑校验集的问题,当对数据进行比较时要求区分大小写,那么才考虑校验集。

创建表磁盘表现:

1、在当前数据库对应磁盘目录中会创建一个.frm的文件,此文件表的结构文件。

2、数据存储在data目录中的idata1文件中,所有使用innodb存储引擎的数据表中的数据都存储在此文件。

查看表

查看所有的表

语法

show tables 【like '模糊匹配'】;

模糊匹配:

%            当前位置及其后的多个字符

_            当前位置的一个字符

示例:

查看表结构

desc 表名        用于查看表的结构(字段相关信息,不显示数据)

示例:

说明:

    field    是字段名

    type    字段类型(列类型)

    null        是否允许为null,默认(没有其他约束)的如果没有字段插入数据mysql会自动使用null作为值。

    key        表示,索引信息,例如:主键索引、唯一键索引、普通索引、全文索引

    defaul    表示,缺省值,当没为某个字段指定数据时,可以自定义一个默认值。

    extra    表示其他信息,例如:auto_increment

示例:

查看表的创建语法:

show create table 表名;

示例:

修改表

分两部分:对表本身的修改(表选项:存储引擎、字符集、校验),另一部分是对表结构的修改(字段)

修改表选项:

alter 表名 表选项;

示例:

说明:

    对charset的更改,表内数据不会自动转换为新的字段集

    对collate的更改,表内原有数据不会应用新的校验规则

更改校验集示例:

使用utf8_general_ci检验创建表:

修改表结构:

添加字段

    alter table 表名 add 【column】 字段名 字段类型 【附加属性】

示例:

删除字段

    alter table 表名 drop 【column】字段名;

示例:

 

修改字段类型

    alter table 表名 modify 字段名 字段类型 【附加属性】;

示例:

注意:modify只能修改字段类型

修改字段名

    alter table 表名change 【column】 原字段名 新字段名

示例:

注意:    change可以修改字段名也可以修改字段类型

修改字段位置

    alter table 表名 modify 字段名1 字段类型 after 字段名2

    将字段1的位置排列在字段2之后

    alter table 表名 modify 字段名1 字段类型 first;

    将字段1的位置排列在最前面

示例:

提示:after与first可以放在任何对表结构修改的语句之后

删除表

drop table 表名;

示例:

posted @ 2016-04-05 21:34  尼农小道  阅读(159)  评论(0编辑  收藏  举报