【MySQL】库表的基本操作

news2024/11/17 19:40:34

文章目录

    • 数据库的基本操作
      • 切入
      • 查看当前使用数据库
    • 数据表的基本操作
      • 查所有表
      • 查指定表
      • 查表字段信息
      • 删表
      • 改表名
      • 改字段名
      • 改字段属性
      • 增字段
      • 删字段
    • 数据表的约束
      • 主键约束(PRIMARY KEY)
      • 非空约束(NOT NULL)
      • 默认值约束(DEFAULT)
      • 唯一性约束(UNIQUE)
      • 外键约束(FOREIGN KEY)
        • 删除外键
        • 注意细节

数据库的基本操作

create database 数据库名称;

show create database db1;

drop database db1;

alter database db1 character set gbk;

切入

use db1;

查看当前使用数据库

select database();

数据表的基本操作

注意:在操作数据表之前应使用“USE 数据库名;”

create table 表名(
         字段1 字段类型,
         字段2 字段类型,
         …
         字段n 字段类型
);

查所有表

show tables;

查指定表

show create table student;
# student是具体表明

查表字段信息

desc student;

删表

drop table 表名;

改表名

alter table student rename to stu;

改字段名

alter table stu change name sname varchar(10);

改字段属性

alter table stu modify sname int;

增字段

alter table stu add address varchar(50);

删字段

alter table stu drop address;

数据表的约束

为防止错误的数据被插入到数据表,MySQL中定义了一些维护数据库完整性的规则;

以下五种约束条件针对表中字段进行限制从而保证数据表中数据的正确性和唯一性。换句话说,表的约束实际上就是表中数据的限制条件。

约束条件说明
PRIMARY KEY主键约束用于唯一标识对应的记录
FOREIGN KEY外键约束
NOT NULL非空约束
UNIQUE唯一性约束
DEFAULT默认值约束,用于设置字段的默认值

主键约束(PRIMARY KEY)

主键约束即primary key用于唯一的标识表中的每一行。被标识为主键的数据在表中是唯一的且其值不能为空。

  • 基本语法

    字段名 数据类型 primary key;

  • 示例一

    create table student(
      id int primary key,
      name varchar(20)
    );
    
  • 示例二

    create table student01(
      id int,
      name varchar(20),
      primary key(id)
    );
    

非空约束(NOT NULL)

指的是字段的值不能为空

  • 基本语法

    字段名 数据类型 NOT NULL;

  • 示例

    create table student02(
      id int,
      name varchar(20) not null
    );
    

默认值约束(DEFAULT)

用于给数据表中的字段指定默认值,即当在表中插入一条新记录时若未给该字段赋值,那么,数据库系统会自动为这个字段插人默认值

  • 基本语法

    字段名 数据类型 DEFAULT 默认值;

  • 示例

    create table student03(
      id int,
      name varchar(20),
      gender varchar(10) default 'male'
    );
    

唯一性约束(UNIQUE)

用于保证数据表中字段的唯一性,即表中字段的值不能重复出现

  • 基本语法

    字段名 数据类型 UNIQUE;

  • 示例

    create table student04(
      id int,
      name varchar(20) unique
    );
    

外键约束(FOREIGN KEY)

用于多张表之间的约束

  • 基本语法

    – 在创建数据表时语法如下:
    CONSTRAINT 外键名 FOREIGN KEY(从表外键字段) REFERENCES 主表(主键字段)
    – 将修改数据表时语法如下:
    ALTER TABLE 从表名 ADD CONSTRAINT 外键名 FOREIGN KEY(从表外键字段) REFERENCES 主表(主键字段);

  • 示例一

    create table student05(
      id int primary key,
      name varchar(20)
    );
    create table class(
      classid int primary key,
      studentid int,
      constraint fk_class_studentid foreign key(studentid) references student05(id)
    );
    
  • 示例二

    create table student05(
      id int primary key,
      name varchar(20)
    );
    create table class(
      classid int primary key,
      studentid int
    );
    alter table class 
    	add constraint fk_class_studentid foreign key(studentid) references student05(id);
    

删除外键

  • 语法

    alter table 从表名 drop foreign key 外键名;

  • 示例

    alter table class drop foreign key fk_class_studentid;
    

注意细节

  • 从表里的外键通常为主表的主键
  • 从表里外键的数据类型必须与主表中主键的数据类型一致
  • 主表发生变化时应注意主表与从表的数据一致性问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/634307.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VSCode 配置 C++ 环境

文章目录 VSCode 配置 C 环境1. 配置 C 编译器1.1 下载 MinGW1.2 添加环境变量1.3 测试 2. 配置编辑器 VSCode2.1 下载 VSCode2.2 安装插件2.3 运行代码 3. 优化Reference VSCode 配置 C 环境 VSCode(Visual Studio Code)是一款轻量级的代码编辑器&…

Linux系统之部署Node.js环境

Linux系统之部署Node.js环境 一、Node.js介绍1.1 Node.js简介1.2 npm简介1.3 Node.js官网 二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍 三、部署Node.js环境3.1 下载Node.js安装包3.2 解压Node.js安装包3.3 复制二进制文件3.4 配置环境变量3.5 检查node及npm版本 四、NP…

EXCEL的自定义格式,比如 @_ ,一个我很少用的功能的简单总结

目录 前言 1 入口: 2 有用的一些功能 2.1 可以自动在 你输入的字符串前后加 预设内容 2.1.1 具体见下面 2.1.2 对比EXCEL得常用拖动功能 2.2 设置填充下划线 2.2.1 效果如下 2.2.2 问题 2.2.3 下划线的显示问题 2.3 比如 #.## 2.4 比如 000.000 2.5 比…

自动化测试webdriver常用API总结

目录 前言: 1. selenium的简单介绍 2. selnium的下载 3. WebDriver常用API 前言: WebDriver 是一个自动化测试工具,主要用于模拟浏览器行为,实现自动化测试。下面是一些 WebDriver 常用 API 总结: 1. selenium的…

STM32--ESP8266物联网WIFI模块(贝壳物联)--远程无线控制点灯

本文适用于STM32F103C8T6等MCU,其他MCU可以移植,完整资源见文末链接 一、简介 随着移动物联网的发展,各场景下对于物联控制、数据上传、远程控制的诉求也越来越多,基于此乐鑫科技推出了便宜好用性价比极高的wifi物联模块——ESP…

CentOS 7.6安装 MongoDB 5.0.2

1、选择下载地址 进入下载官网 https://www.mongodb.com/try/download/community 选择右侧MongoDB Community Server Version:5.0.2(current) Platform:RedHat / CentOS 7.0 Package:tgz 点击Copy复制 安装位置&am…

爆肝总结,软件测试-常见并发问题+解决方案,测试进阶...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 并发测试的定义 …

LVS负载均衡--NET模式

目录 企业群集应用概率 群集的含义 问题 根据群集所针对的目标差异,可分为三种类型 负载均衡群集(Load Balance Cluster) 高可用群集(High Availability Cluster) 高性能运算群集(High Performance Computer Cluster) 负载均衡群集架构 负载均衡的结构 LV…

XuperChain搭建+报错+注意事项

安装依赖 golang 这里安装的是15-17版本 wget -c https://dl.google.com/go/go1.15.2.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local 添加环境变量 这个可以通过添加下面的行到/etc/profile文件(系统范围内安装)或者$HOME/.profile文件(当前用户安装 vim /etc…

论文笔记--GPT-4 Technical Report

论文笔记--GPT-4 Technical Report 1. 报告简介2. 报告概括3 报告重点内容3.1 Predictable Scaling3.2 Capabilities3.3 limitations3.3 Risks & mitigations 4. 报告总结5. 报告传送门6. References 1. 报告简介 标题:GPT-4 Technical Report作者:…

机器学习——单变量线性回归、梯度下降

文章目录 一、机器学习的分类二、线型回归Linear regression(单变量线性回归)三、代价函数3.1 建模误差3.2 平方误差代价函数 Squared error cost function3.3 梯度下降3.4 梯度下降与线性回归相结合 一、机器学习的分类 监督学习:学习数据带…

算法模板(3):搜索(6):做题积累

算法模板(3):搜索(6):做题积累 一、DFS 1. 1113. 红与黑 有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻(上下…

【剑指offer专项突破版】链表篇——“C“

文章目录 前言一.删除链表的倒数第 n 个结点题目分析思路分析细节分析步骤代码 二.链表中环的入口节点题目分析思路分析写法①代码写法②代码: 三.两个链表的第一个重合节点题目分析思路分析代码 四.反转链表题目分析思路分析法①代码法②代码法③代码 五.链表中的两数相加题目…

西南交通大学智能监测 培训课程练习4

2023.056.07和09培训 项目实战 目录 一、infracore(基础核心层) 1.1database 1.2config 1.3util 二、业务领域模块 2.1structure模块 2.1.1domain层 2.1.2application层 2.1.3adapter层 2.2sensor模块 2.2.1domian层 2.2.2application层 2.2.…

一文搞懂什么是Docker

一、什么是Docker 微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦。 分布式系统中,依赖的组件非常多,不同组件之间部署时往往会产生一些冲突。在数百上千台服务中重复部署,环境不一定一致,会遇…

Java ~ Reference ~ Finalizer【总结】

前言 文章 相关系列:《Java ~ Reference【目录】》(持续更新)相关系列:《Java ~ Reference ~ Finalizer【源码】》(学习过程/多有漏误/仅作参考/不再更新)相关系列:《Java ~ Reference ~ Final…

基于Python的接口自动化-Requests模块

目录 引言 一、模块说明 二、Requests模块快速入门 1 发送简单的请求 2 发送带参数的请求 3 定制header头和cookie 4 响应内容 5 发送post请求 6 超时和代理 三、Requests实际应用 引言 在使用Python进行接口自动化测试时,实现接口请求…

2023春期末考试选择题R2-9AVL树插入调整详解

题目: 将 8, 9, 7, 2, 3, 5, 6, 4 顺序插入一棵初始为空的AVL树。下列句子中哪句是错的? A. 4 和 6 是兄弟 B. 5 是 8 的父结点 C. 7 是根结点 D. 3 和 8 是兄弟 解题要点: 需要对AVL树的4种旋转方式熟悉。 AVL旋转过程: 根据…

体验ChatGPT使用

ChatGPT是一种基于GPT(Generative Pre-train Transformer)模型的大型语言模型,由OpenAI公司开发。 交互时,有一定的技巧,可以快速准确的反馈正确答案。 一、开发贪吃蛇游戏 浏览器访问:https://chat.opena…