当前位置: 首页 > news >正文

Mysql从入门到精通day2————数据表操作

(一)创建数据表操作:
基本语法:

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] 数据表名
[(create definition)][table options][select_statement]

解释:

TEMPORAY 如果使用该关键字表示创建一个临时表
IF NOT EXISTS 避免表存在时发生错误
create definition 表的列属性部分,创建表时至少包含一列
table_options 表的特性参数,一般是表数据的存储方式和存储位置如存储引擎,多数情况下用户不必指定
select_statement select语句描述部分,用于快速创建表

下面介绍列属性create_difinition部分,每一列定义的具体格式如下:
col_name type [NOT NULL|NULL] [DEFAULT default_value][AUTO_INCREMENT] [PRIMARY KEY] [reference_definition]
参数解释:

col_name 字段名(列名)
type 字段类型
NOT NULL|NULL :指出是否允许列为空值,系统一般默认允许为空值,所以当不允许为空值时,必须使用NOT NULL
DEFAULT:default_value 表示默认值
AUTO_INCREMENT 表示是否自动编号,每个表只能有一个AUTO_INCREMENT列,并且必须被索引
PRIMARY KEY 表示是否为主键,一个表只能有PRIMARY KEY。如果表中没有PRIMARY KEY,而某些应用程序需要PRIMARY KEY,那么MYSQL将返回第一个没有任何NULL列的UNIQUE键,作为PRIMARY KEY
reference_definition 为字段添加注释

实际应用中我们只需要使用最基本的格式创建数据表即可
CREATE TABLE 数据表名(列名1 属性,列名2,属性)
下面我们来看实例:
在这里插入图片描述
我们选中wanjiahui2数据库
在这里插入图片描述
在wangjiahui2数据库中创建tb_admin数据表,其中包含id,user,password,createtime等字段(列)
(二)查看表结构
语法:
1.show语句

SHOW [FULL] COLUMNS FROM 数据表名 [FROM 数据库名]

中括号的项可省略
在这里插入图片描述
如图我们查看(一)中创建好的tb_admin结构,显示有4列
2.describe语句

DESCRIBE 数据表名
DESCRIBE 数据表名 列名

describe可以简写为desc

在这里插入图片描述
如图我们用desc查看tb_admin中的user列
(三)修改表结构

ALTER [IGNORE] TABLE  数据表名 alter_spec[,alter_spec]...| table options
[IGNORE] 可选项,如果出现重复关键的行,只执行一行,其余重复的行删除
数据表名:用于指定要修改的数据表的名称
table_options:表的特性参数,一般不用用户指定
alter_spec子句:用于定义要修改的内容,语法格式如下:

在这里插入图片描述
注意有小括号的命令一定要加上小括号

create definition:定义列的数据类型和属性
[FIRST|AFTER col_name]:用于指定位于哪个字段的前面或后面,first是前面,after是后面,col_name是字段名
[index_name]:可选项,用于指定索引名
(index_col_name):用于指定索引列名
old_col_name:用于指定要修改的字段名
new_tbl_name:用于指定新的表名
{SET DEFAULT literal|DROP DEFAULT}子句:为字段设置或者删除默认值。其中,literal参数为要设置的默认值

下面来看例子:
1.添加新字段和修改字段类型
语法:

alter table 数据表名 add 新字段 新字段属性 first|after 字段名

在这里插入图片描述
如图,我们选择wangjiahui2数据库,在tb_admin数据表中,增加email字段,并修改user字段类型为varchar(40)再用desc查看表结构发现已经改变
在这里插入图片描述
上图我们使用after在username后添加hui整型字段添加成功,注意新建字段名类型必须指定否则会报错
2.修改字段名
语法:

alter table 数据库名.数据表名 change column 要修改的字段 新字段名 新字段属性

在这里插入图片描述affected表明我们已经修改成功
在这里插入图片描述
如图所示我们已经成功修改user字段名为username
3.删除字段名
语法:

alter table 数据表名 drop 字段名

在这里插入图片描述4.修改表名
语法:

alter table 数据表名 rename as 新的数据表名
或者rename table 数据表名1 to 数据表2,数据表3 to 数据表4

在这里插入图片描述
如图所示,我们修改tb_admin表的名称为guangjun1并且查看表结构发现同原来的表结构一致
5.添加主键,删除主键,添加唯一索引
在这里插入图片描述
在这里插入图片描述
如图主键修改为createtime,id成为唯一索引
(四)复制表
语法:

create table [if not exists] 数据表名
{like 源数据表名}

复制表时like选项必须指定
在这里插入图片描述
我们复制guangjun1的结构给guangjun2
这里需要注意,复制的是结构而不是内容
在这里插入图片描述
如图,我们用select语句查看guangjun2的内容发现为空
如果想复制内容我们需要使用as 子句来实现
在这里插入图片描述
使用上述语句我们就可以连同数据一起复制
(五)删除表
语法:

drop table [if exists] 数据表名

在这里插入图片描述

拓展:
修改主键的步骤:
(1)去除原主键的自增属性

alter table 数据表名 modify 原主键  原主键类型 not null

(2)删除原主键约束

alter table 数据表名 drop primary key

(3)定义新的主键约束

alter table 数据表名 change  旧主键名 新主键名 新主键类型 [unsigned AUTO_INCREMNET] primary key;

相关文章:

  • 第五十三:v-model修饰符
  • 深度学习之图像学习知识点
  • DeepSeek未来发展趋势:开创智能时代的新风口
  • 高频 SQL 50 题(基础版)_610. 判断三角形
  • IT产品经理如何打造优秀并具有影响力的产品
  • C# WinForm程序中如何调试dll接口
  • Leetcode 3468. Find the Number of Copy Arrays
  • 《大语言模型的原理发展与应用》:此文为AI自动生成
  • 从文件到块: 提高 Hugging Face 存储效率
  • angular实现nodejs增删改查
  • 虚拟系统配置实验
  • Java集合八股总结
  • 设置 CursorRules 规则
  • 深入理解三色标记、CMS、G1垃圾回收器
  • 鸿蒙与DeepSeek深度整合:构建下一代智能操作系统生态
  • HiRT:利用分层机器人Transformer 增强机器人控制
  • 05 HarmonyOS NEXT高效编程秘籍:Arkts函数调用与声明优化深度解析
  • C#项目文件.csproj 文件结构解析
  • Linkreate wordpress AI插件,一款文章图文、关键词等自动后台生成的简单、高效、智能、定制化的AI插件
  • Linux下的shell指令(一)
  • 企业营销网站建设/批量查询神马关键词排名
  • 建设银行手机银行官方网站/网站统计器
  • 怎么查看网站死链/搜索引擎优化工作
  • 网站建设方案评审/seo优化快排
  • 网站建设网站模板/互联网营销师课程
  • 装修平台网站排名/企业培训系统app