mysql 表.t_mysql ---表的操作

创建表、查看表结构、修改表、删除表

1. 创建表

创建表之前选定数据库:use testx;

create table table2(属性名 数据类型 [约束],

属性名 数据类型[约束]) ENGINE=XX AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

约束:

PRIMARY KEY              该属性/字段设为此表主键

FOREIGN KEY              该属性/字段为该表外键,即另一个表的主键

NOT NULL                     属性不能为空

UNIQUE                         属性值唯一

AUTO_INCREMENT     属性值自动增加

DEFAULT                       属性值为默认值

(1)设置主键

①设置单个字段为主键

create table table2( id INT PRIMARY KEY,

nameVARCHAR(20)

);

②设置多个字段为主键

create table table2( id1 int,

id2int,

nameVARCHAR(20),primary key(id1,id2)

);

通过多个主键组合确定唯一的记录

(2)设置外键

表A有一个字段是表B的主键,则B为父表,A为子表。

子表的外键关联的必须是父表的主键,且数据类型必须一致

创建了table2,有两个主键id1、id2,将这两个字段作为表table3的外键

create table table2( id1 int,

id2int,

nameVARCHAR(20),

addressvarchar(20),primary key(id1,id2)

);

create table table3( id int primary key,

id1int,

id2int,constraint ids foreign key(id1,id2) referencestable2(id1,id2)

);

(3)自动增加属性

该字段必须是主键的一部分,一个表只能有一个字段(必须是整数类型)使用 AUTO_INCREMENT 约束。

如果该字段增加到了其数据类型能表示的最大值,则继续插入数据会产生错误。

每插入一条数据,该字段为上条记录该字段值增1

create table table4( id int primary keyauto_increment,

namevarchar(20)

);

插入数据:

①该字段值填 null或0,则该字段值为上条记录该字段值加1

insert into table values(0,'a')insert into table values(0,'b')insert into table values(0,'c')

23587da8114fee0acc80cfc8ee3a16a7.png

②该字段插入非0数,则该字段值就是插入的值

insert into table values(5,'a')insert into table values(0,'d')

0c29f6f131030583c13f94c96bfaf3e9.png

③插入数据时,不指定该字段

insert into table(name) values('xx')

9bf04aa2f4d01bad72a62ab9d899d487.png

(4)设置字段默认值

属性名  数据类型 DEFAULT 默认值

2.  查看表结构

(1)DESC 表名

DESCtable4;

DESCRIBE table4;

f5d14a1473da75c802522cc5f8e3614e.png

(2)查看表详细结构

查看字段名、数据类型、约束、存储引擎、字符编码

SHOW CREATE TABLE table4;

2e5f74e506dcbb05ca3459b4f0a62f58.png

3. 修改表

(1)修改表名

ALTER TABLE 旧表名 RENAME 新表名;

(2)修改数据类型

整型、浮点、字符串、二进制、日期时间类型

数据类型决定了数据的存储格式、约束、有效范围

ALTER TABLE 表名 MODIFY 属性名 数据类型;

(3)修改字段名

ALTER TABLE 表名 CHANGE 旧属性名 新属性名 数据类型;

可修改字段名的同时修改数据类型

(4)增加字段

ALTER TABLE 表名 ADD 属性1 数据类型 [约束] [FIRST | AFTER 属性2];

(5)删除字段

ALTER TABLE 表名 DROP 属性名;

(6)修改字段的位置

ALTER TABLE 表名 MODIFY 属性名1 数据类型 FIRST | AFTER 属性名2;

(7)修改存储引擎

ALTER TABLE 表名 ENGINE=存取引擎名;

(8)删除表的外键约束(当然是对子表操作)

ALTER TABLE 表明 DROP FOREIGN KEY 外键别名;

4. 删除表

(1)删除没有被关联的普通表

DROP TABLE 表名;

(2)删除被其它表关联的父表

在1的(2)建立了两个表,table2为父表,table3为子表

尝试删除父表:DROP TABLE table2;

7430009655b3993fe46330aebee48869.png

查看子表结构:子表table3通过外键 ids与父表table2建立关联

a499e4bfed248f129117508b143b48d0.png

要删除父表table2,则需要先删除子表table3中的外键约束:3的(8)

ALTER TABLE table3 DROP FOREIGN KEY ids;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值