mysql中的永久性表_MySQL ------ 表的操作 (三)

1、创建数据表

--创建表

create table tbUser(user_id int not null auto_increment,user_name varchar(50) not null,user_sex char(10) null,PRIMARY KEY(user_id ));

eb759807041ef1ff00f5a1731c913b2e.png

InnoDB   是数据库引擎的一种

2、将表关联起来,要使用外键(froeign key)

如:下面的商品表和供应商表,在商品表中创建一个字段与供应商表的主键关联起来,好处就是节省了空间时间,当这个供应商改名了,你只要只修改供应商表就行了,

ALTER TABLE products ADD CONSTRAINT fk_products_vendors FOREIGN KEY (vend_id) REFERENCES vendors (vend_id);

b54a3bac4b269d2d6580336a9ec432e4.png

插入数据

514fd18856019483734f43298ee040f3.png

可以拷贝多个,放到mysql 中一块执行

3、查看一下:  加了6个表

ba7439cfe88448e8d549192c82d6f3b8.png

查看表中包含的字段名、数据类型、是否允许为空键的信息等

show columns from tableName;

3c930acd899d6b9e6430491c5be0a6d1.png

外键的话

0d0adbf16ec8ad2c30809c4f8a2af9ea.png

4、重命名表(RENAME TABLE)

查看一下有几个表,给tbuser1 重命名一下

d39e570d32fcc126bbf54e4250aa5268.png

--将tbuser1 改名为 tb_obge

rename table tbuser1 to tb_obge;

42318a68e3120184c944e346c7a617b9.png

也可以修改多个

e1a7a12f13e26f43b5aaa9f71b5ec988.png

5、删除表(DROP TABLE)

删除没有确认也不能撤销,执行该语句将永久删除该表

-- 删除表 tb_obgeshuai drop table 表名;

drop table tb_obgeshuai;

1a7511dc47c1d5d2ebbf14ce4cf9519e.png

6、更新表(ALTER TABLE)

理想状态下,当表中存储数据后,表就不应该更新了,所以在设计表时要多多考虑,以便后期不对表进行较大改动

(1)、查看一下原有表中列

657c50a601955d017bd11a69b3b99a96.png

(2)、更改表,增加一列

--更改表,增加一列--alter table 表名 add 列名 指定列的类型;

alter table tb_user add user_test char(30);

523cafa22b2556989b90204e3bc14d94.png

(3)、删除表中的列

--删除表中列--alter table 表名 drop column 表中列名;

alter table tb_user drop column user_test;

7fefca806664db4a5b91d0d1e55f6748.png

(4)、修改表名

//修改表名alter table 旧表名 rename 新表名;

(5)、添加主键约束

//查看所有修改表结构的sql 语句

HELPAlTER TABLE;

添加主键约束,借助 constraint 关键字

--添加主键约束

alter table 表名 add constraint 主键名 parimary key 表名(主键字段)

小列子,将表中 tb_stu 的 stuid 设为主键

alter table 'tb_stu' add constraint 'pk_stuid' parimary key 'tb_stu'(stuid)

(6)、添加外键约束(foreign key)

借助 constraint (约束)关键字,注意MySQL中innoDB 存储类型的 表支持外键,myisam 存储类型的表不支持外键,因此对于MyISAM存储类型的表可以通过建立逻辑关联的方式保证数据的完整性和一致性

--添加外键约束

alter table 表名 add constraint 外键名 foreign key 表名(外键字段)

ac166f911a5961609b45c51fbc39df27.png

注意:

1、对单个表进行多个更改,可以使用单条ater table 语句,每个更改使用逗号分隔

2、复杂的表结构更改一般要手动删除过程

主要步骤:

a、用新的列布局创建一个新表

b、使用insertselect从旧表中复制数据到新表,如果有必要,可使用转换函数和字段

c、检验包含所需数据的新表

d、重命名旧表(如果确定可以删除)

e、用旧表原来的名字重命名新表

f、根据需要重新创建触发器、存储过程、索引和外键

3、使用alter table 要极为小心,应该在进行改动前做一个完整备份(模式和数据的备份),数据表更改后不能撤销,如果删了不该删除的列可能会丢失数据

不会的话可以借助help 命令学习mysql文档

--查看帮助文档目录列表

help contents;--查看具体内容

help data types;--查看某一数据类型

help int;--查看 某命令

help create table;

数据定义语言  DDL (全称:Data Query Language):定义数据库的逻辑结构,包括定义数据库、基本表、视图和索引四个部分

语句:包括动词CREATE(创造),ALTER(修改)和DROP(删除)。

关于另外五种的介绍 https://www.cnblogs.com/obge/p/11477395.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值