前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL学习笔记(3) - 表的基本操作

MySQL学习笔记(3) - 表的基本操作

作者头像
张云飞Vir
发布2021-06-24 10:41:21
4570
发布2021-06-24 10:41:21
举报
文章被收录于专栏:写代码和思考

1. 背景

本文讲表的基本操作。

2.知识

在数据库中,数据表是基本的操作对象,是数据存储的基本单位。数据表被定义为列的集合,数据表是按行和列的格式来存储的。每行代表唯一的一条数据记录,每列代表记录中的对象的一个属性。

3. 示例

(1) 新建表

代码语言:javascript
复制
CREATE TABLE tb_table1
(
  id INT(11),
  name VARCHAR(25),
  deptId INT(11),
  salary FLOAT
);

(2) 查看已经有哪些表

代码语言:javascript
复制
show tables;

(3) 主键约束,外键约束,非空约束,唯一约束,默认值约束

  • 主键 能够唯一地标识表中的一条记录,就像是身份证。可以是单个字段做主键,也可以多字段做联合主键。
  • 外键 用来在两个表的数据之间建立连接。它一般对应另外一个表的主键。外键的作用是保证数据引用的完整性。一个表的外键可以是空值,如果不为空则必须是某个表中主键的值。
  • 非空约束:使用NOT NULL 指定字段的值不能为空
  • 唯一性约束 用于说明该列的值必须是唯一的,可以为空但不能重复。
  • 主键约束和唯一约束的区别:一个表中只能有一个主键,可以有多个唯一键。主键不能有空值,而唯一键可以有空值。
  • 默认约束 用来指定某列的默认值,比如 一个数字型的列默认0,在插入表时可以不指定具体值,默认插入0到该列中。
  • 自增: 使用 AUTO_INCREMENT关键字声明自增列,从1开始,每次新增一条记录,字段值自动加1。一个表只能有一个 自增列。

示例:

代码语言:javascript
复制
CREATE TABLE tb_table2
(
  id INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(25) NULL UNIQUE,
  deptId INT(11) NULL DEFAULT 0,
  salary FLOAT
);

(4) 查看表结构 使用 DESCRIBE 或者 DESC 查看表的字段信息。

代码语言:javascript
复制
DESCRIBE tb_table3;
或者:
DESC tb_table3;

使用 SHOW CREATE TABLE 语句可以用来显示创建表时的 SQL 语句。示例:

代码语言:javascript
复制
show create table tb_table1;
或者: 
show create table tb_table1 \G;

(5) 修改数据表 修改数据表是指 通过 ALTER TABLE 语句修改库中的表的结构,常用的操作有:

  • 修改表名
  • 修改字段类型或字段名称
  • 增加和删除字段
  • 修改字段的排列位置
  • 更改表的存储引擎
  • 删除外键约束等

示例:

代码语言:javascript
复制
# 修改表名: 
ALTER TABLE tb_table1 RENAME tb_table3;
# 修改字段类型
ALTER TABLE tb_table3 MODIFY name varchar(50);
# 修改字段名称
ALTER TABLE tb_table3 CHANGE deptId dept int;
# 添加新字段
ALTER TABLE tb_table3 ADD shotName varchar(50);
# 在name后添加一个字段
ALTER TABLE tb_table3 ADD nicktName varchar(50) AFTER name;
# 删除一个字段
ALTER TABLE tb_table3 DROP shotName;
# 修改表的引擎
ALTER TABLE tb_table3 ENGINE=MyISAM;

(6) 删除表 使用 DROP TABLE 可以删除一个或者多个表。

代码语言:javascript
复制
DROP TABLE tb_table3;

END

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 背景
  • 2.知识
  • 3. 示例
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档