学习表的详细增删改查。
先了解一个名词:存储引擎engine。简单理解就是表的类型。表类似于文件,文件可以是文本文档,可以是图片,可以是视频等格式。MySQL数据库存储数据也采用不同的引擎,默认存储引擎是InnoDB,可供选择的还有memory(数据存储在内存中),MyISAM,BLACKHOLE(数据存放进入后即消失)等。
采用指定的存储引擎进行创建表:
dos中看不出有什么不同,在安装文件中明显不同:data文件中的文件数量是不一样的。
传入数据看看不同:insert into 表名称 values(数据);
进入正题:表的增删改查
一、表的创建(增)
Create table 表名称(字段 属性[(宽度)约束条件]);
Create table 表名称(
(字段1 属性[完整性约束条件]),
(字段2 属性[完整性约束条件]),
(字段3 属性[完整性约束条件]),
(字段4 属性[完整性约束条件])
)
id | name | sex | class |
1 | zhao | male | class1 |
2 | qian | female | class1 |
3 | sun | male | class1 |
#上面表格中的id,name,sex,class等就是字段,一行内容就是一条记录。
1.1创建表结构
用mysql创建上面的表格的结构:
create table namelist(
id int,
name char(20),
sex enum('male','female'),
class char(50)
)
1.2添加表格数据
用mysql插入数据:
insert into namelist values
(1,'zhao','male','class 1'),
(2,'qian','female','class 1'),
(3,'sun','male','class 1');
表格创建完成。其中需要注意:
(1)字段和属性是创建表格必须要有的;
(2)同一张表中字段不能重复;
1.3表的复制
(1)表结构+内容的复制:
create table 表名称2 select * from 表名称1;
# 表2是表1的复制
(2)表结构的复制:
A.create table 表名称3 select * from 表名称1 where 1>2;
#当where的条件为假时表3只复制表1的结构
B.create table 表名称4 like 表名称1;
#like表示表4只复制表1的结构
二、表的查看
2.1表结构的查看:
desc 表名称;
2.2表格内容的查看:
(1)select * from 表名称;
(2)show create table 表名称;
(3)show create table 表名称\G
(不需要分号),成行展示表格信息
三、表的修改
3.1 表结构的修改
(1)修改存储引擎:alter table 表名称 engine=想要的engine;
(2)修改表名称:alter table 表名称 rename 新名称;
(3)字段的增删改:以表students为例
A.增加字段:alter table students add 字段1 属性,字段2 属性;
alter table students add 字段3 属性 First;
alter table students add 字段4 属性 after 已有字段;
B.修改字段:alter table students modify 字段名 新属性;
alter table students change 旧字段名 新字段名 旧属性;
alter table students change 旧字段名 新字段名 新属性;
C.删除字段:alter table students drop 字段名;
3.2 表中数据的增删改查:下篇文章详解。
四、表的删除
删除表:drop table 表名称;