mysql数据库表的基本操作

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

表的操作

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

创建表

语法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


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
Oracle 关系型数据库 MySQL
【mysql】—— 表的内连和外连
【mysql】—— 表的内连和外连
|
1月前
|
存储 关系型数据库 MySQL
【mysql】—— 表的增删改查
【mysql】—— 表的增删改查
|
24天前
|
存储 SQL 关系型数据库
【MySQL】4. 表的操作
【MySQL】4. 表的操作
21 0
|
23天前
|
SQL 关系型数据库 MySQL
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
|
23天前
|
存储 关系型数据库 MySQL
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
|
23天前
|
缓存 关系型数据库 MySQL
MySQL 查询优化:提速查询效率的13大秘籍(索引设计、查询优化、缓存策略、子查询优化以及定期表分析和优化)(中)
MySQL 查询优化:提速查询效率的13大秘籍(索引设计、查询优化、缓存策略、子查询优化以及定期表分析和优化)(中)
|
24天前
|
关系型数据库 MySQL
【MySQL】12. 表的内连和外连(重点)
【MySQL】12. 表的内连和外连(重点)
13 0
|
1月前
|
存储 关系型数据库 MySQL
【mysql】—— 表的约束
【mysql】—— 表的约束
|
1月前
|
存储 SQL 关系型数据库
【mysql】—— 表的操作
【mysql】—— 表的操作
|
1月前
|
Oracle 关系型数据库 MySQL
Flink CDC产品常见问题之从EARLIEST_OFFSET启动就报错如何解决
Flink CDC(Change Data Capture)是一个基于Apache Flink的实时数据变更捕获库,用于实现数据库的实时同步和变更流的处理;在本汇总中,我们组织了关于Flink CDC产品在实践中用户经常提出的问题及其解答,目的是辅助用户更好地理解和应用这一技术,优化实时数据处理流程。