mysql数据库表的基本操作

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

表的操作

表示数据库存储数据的基本单位,由若干个字段组成,主要用来存储数据记录,表的操作是增删改查,这是最基本的操作,也是最重要的操作

创建表

语法create table 表名

(字段类型[(宽度约束条件],

 字段类型[(宽度约束条件]

);

在同一张表中字段名不能相同

宽度和约束条件是可选的

字段名和类型是必须的

 

实例:

Use school

Create table student

(name char(10),

Sex char(8),

Age int(3),

Password varchar(50)

);

查看表结构

Describe 表名;

Desc 表名;

Show create table 表名;  //查看表详细结构

表完整性约束为了保障数据的完整性一致性和准确性

关键字primkary key 主键, 唯一标识的一个记录

Foreign key 外键 ,做关联

No null 非空

Unique key 唯一约束,这本身就是一个索引

Default 默认值

Auto_increment 自增长

 

实例:

Use school

Create table student

(name char(10) not null,

Sex enum (male,female), default male not null

Age int unsigned not null default 18,                    //unsigned修饰值必须为正值

Hobby set (music,book,disc) default book,disc

);

 

 

设置唯一约束实例:unique

Create table departtment(

Dept_id int,

Dept_name varchar(30) unique,

Comment varchar(50)

 

);

 

设置主键约束实例:primary key非常重要,唯一标识符,这本身就是一条索引

使用单列做主键

Create table departtment(

Dept_id int primary key,

Dept_name varchar(30) ,

Comment varchar(50)

);

 

 

使用多列做主键,也就是复合主键,也就是说这两个共同一起是不能有相同的数据的

Create table departtment(

Dept_id int ,

Dept_name varchar(30),

Comment varchar(50),

Constraint pk_id_name primary key (dept_id,dept_name)

);

 

设置自增长auto_increment  自增长通常都是配合主键共同使用的,而且这个字段必须是整数类型才行

Create table student(

Dept_id int  primary auto_increment,

Dept_name varchar(30),

Comment varchar(50)

);

 

 

设置外键约束foreign key主要做表的关联,这里就涉及到父子表的概念,外键必须要存储引擎来支撑的,所以必须要确保存储引擎是innodb才行

实例

父表

Create table empolyees(

 

Name varchar(20) not null,

Mail varchar (20),

Primary key (name)

)engine=innodb;

 

 

 

子表

Create table pryroll(

Id int(5) not null,

Name varchar(20) not null,

Payroll float (10,2) no null,

Primary key (id),

Constraint fk_name foreign key (name) references employees (name)

on udate cascade

on delete cascade           //字表中的nameemployees 表的name字段关联,并且同步删除更新,父表中有那个人,子表中才能够插入,不然是不行的

 

)engine=innodb;

 

 

修改表

修改表名

Alter table 旧表名  rename 新表名

实例:

Alter table stu rename student;  //stu表改名为student

Alter table student engine=myisam;  //修改student表的存储引擎为myisam

 

增加字段

Alter table 表名

 Add字段名 数据类型 [完整性约束条件.....],

Add字段名 数据类型 [完整性约束条件.....];

默认情况下新增加的字段是放在所有字段后面的

实例:

Alter table student

Add name varchar(30) not null,

Add age int not null;

 

Alter table 表名

Add字段名 数据类型 [完整性约束条件.....] first;

实例:

Add stu_num varchar(30) not null first;

 

 

Alter table 表名

Add字段名 数据类型 [完整性约束条件.....] after 字段名;

实例:

Add passord  varchar(30) not null after name;

 

 

删除字段

Alter table 表名 drop 字段名;

实例:

Alter table student drop stu_num;

 

 

 

 

修改字段

Alter table 表名 modify 字段名 数据类型 [完整性约束条件......]; //只能针对旧有的字段操作只能改名

 

Alter table 表名 change 旧字段名 新字段名 旧数据类型 [完整性约束条件......];

一般用这个

实例:

Alter table student change name stu_name varchar(30);

 

 

Alter table 表名 change 旧字段名 新字段名 新数据类型 [完整性约束条件......];

 

实例:

Alter table student change stu_name name varchar(50) not null;

 

 

 

删除表

Drop table 表名;

实例:

Drop table student

本文转自    探花无情   51CTO博客,原文链接:http://blog.51cto.com/983865387/1917416


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
95
分享
相关文章
数据迁移脚本优化过程:从 MySQL 到 Django 模型表
在大规模的数据迁移过程中,性能问题往往是开发者面临的主要挑战之一。本文将分析一个数据迁移脚本的优化过程,展示如何从 MySQL 数据库迁移数据到 Django 模型表,并探讨优化前后的性能差异。
MySQL数据库开发进阶:精通数据库表的创建与管理22
【7月更文挑战第22天】数据库的创建与删除,数据表的创建与管理
69 1
MySQL的一些基本操作
MySQL的一些基本操作
39 1
蓝易云 - 如何修复MySQL中损坏的表
最后,为了防止数据丢失,定期备份数据是非常重要的。
173 3
MySQL设计规约问题之在数据库设计中,为什么要适当考虑反范式的表设计
MySQL设计规约问题之在数据库设计中,为什么要适当考虑反范式的表设计
MySQL设计规约问题之如何处理日志类型的表
MySQL设计规约问题之如何处理日志类型的表
实时计算 Flink版产品使用问题之在处理MySQL表新增数据记录时,没有正确触发变更事件,该如何解决
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
ClickHouse(23)ClickHouse集成Mysql表引擎详细解析
ClickHouse的MySQL引擎允许执行`SELECT`查询从远程MySQL服务器。使用`MySQL('host:port', 'database', 'table', 'user', 'password'[,...])`格式连接,支持简单`WHERE`子句在MySQL端处理,复杂条件和`LIMIT`在ClickHouse端执行。不支持`NULL`值,用默认值替换。系列文章涵盖ClickHouse安装、集群搭建、表引擎解析等主题。[链接](https://zhangfeidezhu.com/?p=468)有更多
356 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等