mysql数据表的操作
1、创建数据库表:
create table table_name(fields_name1 datatype,fields_name2 datatype.....);
2、查看表:
show tables;
3、创建带有主健约束的表(包括有单字健和多字健类型)
1、单字键约束
字段名 数据类型,primary key[默认值]
2、定义完所有列之后指定主健
constraint <约束名>primary key[默认值]
4、多字段联合主键
主健同多个字段联合组成
。语法:
Primary key[字段1,字段2,……]
5、使用外键约束
外键用来在两个表的数据之间建立链接,它可以是一列或者多列。一个表可以有一个或多个外键。外键对应的是参照完整性,一个表的外键可以为空值,若不为空值,则每一个外键值必须等于另一个表中主键的某个值。
外键:首先它是表中的一个字段,它可以不是本表的主键,但对应另外一个表的主键。外键主要作用是保证数据引用的完整性,定义外健后,不允许删除在另一个表中具有关联关系的行。外键的作用是保持数据的一致性,完整性。
主表(父表):对于两个具有关联关系的表而言,相关联字段中主键所在的那个表即是主表。
从表(子表):对于两个具有关联关系的表而言,相关联字段中外键所在的那个表即是从表。
语法:
Constraint <>foreign key 字段1,【字段2】,references【主表名】主健列1,主键列2……
外键名为定义的外键约束的名称,一个表中不能有相同名称的外键;字段名表示子表需要添加外键约束的字段列;主表名即被子表外键所依赖的表的名称;主键列表示主表中定义的主键列,或者列组合。
关联指的是在关系型数据库中,相关表之间的联系。它是通过相容或相同的属性或属性组来表示的。子表的外键必须关联父表的主键,且关联字段的数据类型必须匹配。如果类型不一样,则创建子表时,就会出现错误。
6、使用非空约束
非空约束就是字段值不能为空。
字段名 数据类型 Not null
7、使用唯一性约束
使用唯一性约束 unique constraint要求该列唯一。允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列不出现重复值。
(1) 在定义完列之后直接指定唯一约束。
字段名 数据类型 unique
(2)在定义完所有列之后指定唯一约束。
Constraint <约束名>unique <字段名>
Unique和primary key 的区别:一个表中可以有多个字段声明为unique,但只能有一个primary key 声明;声明为primary key 的列不允许有空值。但是声明为unique的字段允许空值Null的存在。
8、使用默认约束
默认约束(default constraint)指定某列的默认值。如男性同学较多,性别就可以默认为男。如果插入一条新的记录时没有为这个字段赋值,那么系统会自动为这个字段赋值为男。
字段名 数据类型 default 默认值
9、设置表的属性值自动增加
在数据库应用中,经常希望在每次插入新记录时,系统自动生成字段的主键值。可以通过为表主键添加auto_increment关键字来实现。默认的,在Mysql中auto_incrtement约束。且该字段必须为主键的一部分。Auto_increment.约束的字段可以是任何整数类型(tinyint,smallint,int,bigint)。
语法规则:
字段名 数据类型 auto_increment
4.2 查看数据表结构
1.查看表基本结构语句describe table_name 或者desc 表名;
2.查看表详细结构语句 show create table
Show create table <表名>\G;
4.3修改数据表
1、alter table <旧表名> rename to <新表名>;
4.4修改字段的数据类型
Alter table <表名> modify <字段名><数据类型>
4.5 修改字段名
Alter table 表名 change 旧字段名 新字段名 新数据类型;
4.6添加字段
Alter table 表名 add 新字段名 数据类型 约束条件 first after 已存在字段名
4.7删除字段
删除字段是将数据表中的某个字段从表中移除
Alter table 表名 drop 字段名;
4.8修心字段的排列位置
Alter table 表名 modify 字段1 数据类型 first|after字段2
4.9更改表的存储引擎
Alter table 表名 engine=更改后的存储引擎名;
4.10 删除表的外键约束
Alter table 表名 drop foreign key 外键约束名。
4.11删除数据表
Drop table if exist 表1,表2,表3……表n;
4.12删除被其它表关联的主表
数据表之间存在外键关联的情况下,如果直接删除父表,结果会显示失败。原因是直接删除,将破坏表的参照完整性。如果必须要删除,可以先删除与它关联的子表,再删除父表,只是这样同时删除了两个表中的数据。但有的情况下可能要保留子表,这时如要单独删除父表,只需将关联的表的外键约束条件取消,然后就可以删除父表。
p55