对于mysql数据表来讲,主要的基本及常用操作分为增、查、改、删四个方面,下面依次进行说明。
1 新建数据库表(表与字段密不可分)
>基本语法:
create table [if not exists] 表名(
字段名 类型 [约束条件],
...,
字段名 类型 [约束条件]
)[表选项];
注:if not exists用来判断所要创建的数据库表是否已经在本数据库下存在,如果存在,则不创建,否则,再创建此数据表;而对于表选项(控制表的表现),则主要有以下几个:
>字符集:charset 具体字符集;
或者character set 具体字符集;
>校对集:collate 具体校对集;
>存储引擎:engine 具体的引擎;
具体的引擎默认的可以选择innodb(默认引擎)和myisam
实例:创建名为student的表,共有学号(主键)和姓名两个字段
注:mysql中,一定要先进入某个具体的数据库,才能够创建表,否则会产生错误,解决方法主要有两个,一个是显式的指定数据库名,语法如下:
create table if not exists 数据库名.表名(
字段 类型 约束条件,
...
字段 类型 约束条件
);
这种方法可以直接跨数据库建立表格(即在一个数据库下创建另一个数据库下的表格,删除同理);另一个是隐式的指定数据库名,方法就是先用use指令进入相应的数据库,再在其下创建表格,语法即是创建表格的基本语法。
解析:在执行创建表的语句后,DBMS都做了那些事情:
>指定数据库下已经存在对应的数据表;
>在数据库对应的文件夹下,产生了对应表的结构文件(这个文件和存储引擎有关)。
2 查看数据表的相关操作
1 查看当前数据库下的所有数据表
>基本语法:show tables;
实例:
2 查看指定的(通过数据表的部分名字(或者全名)进行搜索)
>基本语法:show tables like 'patterns'; --patterns指匹配模式,和创建数据库语句中的匹配效果一样
实例:查看数据库中以“co”开头的所有数据表
3 查看指定数据表的创建语句
>基本语法:show create table 表名; --\g:等价于“;”; --\G:将查到的结果旋转90度变成纵向
实例:查看computer的创建语句
4 查看表中的字段信息
>基本语法一:desc 表名;
>基本语法二:describe 表名;
>基本语法三:show columns from 表名;
>表中字段的分类及含义如下:
>field 字段名;
>type 字段的类型;
>null 字段是否可以为空;
>key 索引类型;
>default 字段的默认值;
>extra 扩充,表述不下了,典型的如auto_increment列
实例:查看computer的字段信息
3 修改数据表相关的操作
修改数据表相关的操作大体可以分为两类,一类是针对表本身的操作,另一类是针对表内的字段的修改操作。
1 修改表本身:
修改表本身可以分为修改表名和表选项,也就是说,表的名字和表选项在表建立后是可以更改的,具体的语法如下:
>修改表名的语法:alter table 旧表名 rename 新表名;
或 alter table 旧表名 rename to 新表名;
>修改表选项的语法:alter table 表名 表选项 [=] 新值;
2 修改表的字段:
修改表的字段可以分为新增、修改和删除字段三种类型;具体的情况如下:
>新增字段基本语法:alter table 表名 add 字段名 类型 [列属性][位置];
位置详细说明:after 字段名; --表示新增字段在此字段之后
;first --表示在第一个位置;如果不写位置一栏,则默认加载现有的列之后,即最后的位置
。
>修改字段的属性或者数据类型:
>基本语法如下:alter table 表名 modify 字段名 数据类型 [属性] [位置];
>删除字段(基本语法):alter table 表名 drop 字段名;
>修改字段名称(基本语法):alter table 表名 change 旧字段名 新字段名 新字段名类型 新字段名属性;
>新增字段实例(向student表中新增sex字段):
>修改字段的属性和数据类型实例(将sex字段类型改为整数,默认值改为1):
>修改字段属性&类型实例:
>删除字段实例:
>修改字段名称实例:
4 删除数据表相关的操作
删除数据表的基本语法如下:drop table 表名1[,表名2,...,表名n];
实例(删除student和account数据表):
当执行删除命令后,数据库系统内部要做的事情(删除了那些东西):
>在表空间中,没有了指定的表(数据也没有了)
>在相应数据库的文件夹下,表对应的文件(与存储引擎有关)也会被删除。