MySQl数据库第六课-------SQl命令的延续------快来看看

news2024/11/29 8:57:50

作者前言

 欢迎小可爱们前来借鉴我的gtiee秦老大大 (qin-laoda) - Gitee.com

————————————————————————————————

目录

SQl语句

        数据库操作

        数据表操作

SQL增删

————————————————————————————

插播小知识

1.主键唯一,只有一个主键,主键有多个名义上就是联合主键,但主键里的值是唯一的,不重复
2.联合主键:多个字段一起作为一张表的主键

3.一张表只有一个主键

作者小废话

上一篇的博客中我简单的介绍了数据库的简单命令show databases; 、use 库名;、select  database();、   create database  库名;、drop database  库名;show tables;、desc 表名;、select  *  from  表名 ;   这一篇博客我还会再一次的再说一次,让大家再温习一遍

SQl语句

结构化查询语言,是一种用来操作 RDBMS 的数据库语言。在例如 oracle 中,会存在个别的语法差别之 外,当前关系型数据库都支持使用SQL 语言进行操作( SQL 语句不区分大小写)。
SQL 语句主要分为:
DQL :数据查询语言,用于对数据进行查询
DML :数据操作语言,对数据进行增加、修改、删除
亿学课堂专用(by提速狗) TPL :事务处理语言,对事务进行处理
DDL :数据定义语言,进行数据库、表的管理等
DCL :数据控制语言,进行授权与权限回收
CCL :指针控制语言,通过控制指针完成表的操作
对于一名程序员而言,数据库的增删改查是必须要掌握的。即为 insert delete update select

操作数据库
-- 查看所有数据库
show databases;

-- 创建数据库
CREATE DATABASE 库名;
CREATE DATABASE 库名 charset=utf8;

-- 删除数据库
drop  database 库名;

-- 选择数据库
use  库名;

-- 查看当前使用的数据库
select database();

既然我们知道怎么简单的操作数据库了,那我们就要知道,数据库里面是有数据表的,而操作表是我们程序员必备的,下面我会详细的介绍操作表的命令

数据表操作
-- 查看当前数据库中的所有表
show tables;

-- 查看表结构

desc 表名;

 

 下面我来简单的解释一些这个表结构

 这里有三个字段(也就是表头)

 这个表示字段的数据类型

 这个代表该字段是否可以不填东西,如果为No,在你写入数据的时候必须该字段有写入值

 代表主键

 代表为默认值,如果你不填就会自动填写

 这个也会影响你写入数据主要看情况

看到这里可能就会有一些小可爱说主键是啥,啥叫主键,

主键是唯一标识一条记录,不能有重复,不允许为空

主键是用来保持数据完整性

主键只有一个

确定数据的唯一性

简单的说就是主键全称“主键约束”,是一个列或多列的组合,其值能唯一地标识表中的每一行,通过它可强制表的实体完整性;主键的作用是确定该数据的唯一性

-- 创建表格
小写
create table `test` (
`id` int unsigned  auto_increment comment '编号',
`title` varchar(100) not null  comment '题目',
`auther` varchar(40) not null comment '作者',
`cdate` date comment '日期',
primary key ( `id` )
)engine=InnoDB default charset=utf8 comment = '测试表格';


大写

CREATE TABLE  `test`(
`id` INT UNSIGNED AUTO_INCREMENT COMMENT '编号',
`title` VARCHAR(100) NOT NULL COMMENT '标题',
`author` VARCHAR(40) NOT NULL COMMENT '作者',
`cdate` DATE COMMENT '日期',
-- foreign key(id) references goods(id),
PRIMARY KEY ( `id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='测试表格';






--或者可以直接设计主键
CREATE TABLE IF NOT EXISTS `test_tb`(
`id` INT UNSIGNED AUTO_INCREMENT primary key not null,
`title` VARCHAR(100) NOT NULL,
`author` VARCHAR(40) NOT NULL,
`cdate` DATE
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

如果你不想字段为 NULL, 可以设置字段的属性为 NOT NULL
-- AUTO_INCREMENT 定义列为自增的属性,一般用于主键,数值会自动加 1
-- COMMENT 对字段的注释
-- 创建外键, test_tb 中的 id 类型一样要和目标表( goods 表)中的 id 一致(可以没有外键)
-- 删除外键: alter table test_tb drop foreign key 外键名称
-- PRIMARY KEY 关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔(`id1`,`id2`)
-- ENGINE 设置存储引擎, CHARSET 设置编码。

查看建表语句(如果我们忘记怎么创建表,我们可以看看这个)
show create table 表名;

 修改表结构

新增字段(新增表头)

alter:改变

alter table 表名  add  `字段名`  类型 ....;

-- 修改字段(在修改字段名的时候使用)

change:改变

alter table 表名  change  `字段原名` `字段新名` 类型 及条件;

 

 注意一下,数据类型:整形变成字符串可以,但是字符串变整形不行  这个方法一定要改名才能正常使用

修改字段类型 (在不改变名字的情况下使用)
alter table 表名 modify 列名 类型及约束;

modify:修改

 这个方法也是要改就改全部条件,不能只改一个条件

-- 删除表格

drop table 表名;

这里就演示了

SQL增删改查

写入数据

··写法1
insert into  表名(
    字段名
)
value(
    '内容'
);

··写法二

insert into  表名(
    `字段名`
)
value(
    '内容'
);

 如果写了id(也就是主键)会按照排序插入数据

数据的删除
delete from 表名  where  条件;

 总结:

时间过得很快,这篇博客的内容就写到这里了。下一篇博客会接的这里继续介绍下去,有不明白的小可爱可以私聊我;

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

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

相关文章

stm32(独立看门狗和窗口看门狗)

独立看门狗介绍 什么是看门狗? 在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造 成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作…

setTimeout

Promise延时的几种表述方法 第一种 var pdocument.getElementById("demo"); async function myFunction(){await new Promise(function(resolve){setTimeout(function(){p.innerHTML"延时成功";resolve();},1000);}); } myFunction();第二种 var pdocum…

完了完了完了!线上发生 OOM 了!

现象 线上某个服务有接口非常慢,通过监控链路查看发现,中间的 GAP 时间非常大,实际接口并没有消耗很多时间,并且在那段时间里有很多这样的请求。 原因分析 先从监控链路分析了一波,发现请求是已经打到服务上了&#…

ViperGPT解析:结合视觉输入与文本查询生成和执行程序

ViperGPT:结合视觉输入与文本查询生成和执行程序 ViperGPT 是一个混合视觉和语言处理模型,旨在解决视觉查询问题。这种问题需要视觉处理和推理能力的结合,ViperGPT通过利用代码生成模型,将视觉和语言模型组合成子例程&#xff0c…

【Java】弄清多态,看这一篇就够了|由浅入深,保姆级详解

博主简介:努力学习的预备程序媛一枚~博主主页: 是瑶瑶子啦所属专栏: Java岛冒险记【从小白到大佬之路】 前言 在上篇【Java】还不理解继承?一篇文章看懂继承|继承入门,我们了解了继承的概念、如何时两个类建立继承关系is-a、以及…

AndroidUI绘制流程

Android源码阅读 UI绘制流程 环境 Java 11android 11 由于学习的课程api 不一致 导致源码有些关键方法无法进入仔细阅读 采用截图的方式理解思路 view添加到窗口 进入到源码中可以发现 ,每个activity 默认生成的代码中都会有一个setContentView方法&#xff0c…

Python采集课堂视频教程, m3u8视频解密

前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 环境使用: Python 3.8 解释器 Pycharm 编辑器 模块使用: requests >>> pip install requests pycryptodome --> pip install pycryptodome re 第三方模块安装方法: win R 输…

SpringBoot+MinIO实现minio部署和使用

Minio是一个go编写基于Apache License v2.0开源协议的对象存储系统,是为海量数据存储、人工智能、大数据分析而设计,它完全兼容Amazon S3接口,十分符合存储大容量的非结构化数据从几十kb到最大5T不等。是一个小而美的开源分布式存储软件。 特点 简单、可…

windows系统下载大白菜制作iso镜像文件

背景 1. ventory制作了U盘启动盘,ventory只能加载iso文件, 我们有些操作需要进入到winpe系统进行操作,故需要制作大白菜pe的iso文件 操作步骤 下载大白菜 大白菜u盘启动盘制作工具_大白菜u盘装系统_大白菜pe_大白菜官网-首页 (windowsrw.…

一个判断 I2C 总线通信异常原因的方法

一个判断 I2C 总线通信异常原因的方法 参考链接 【经验分享】一个判断 I2C 总线通信异常原因的方法 (stmicroelectronics.cn)https://shequ.stmicroelectronics.cn/thread-633302-1-1.html 至于如何在i2c总线中如何使用还没有弄明白。后续再看。 使用方法记录 阻值分配 图中…

Confidence Regularized Self-Training 阅读笔记

Confidence Regularized Self-Training 领域自适应研究的最新进展表明,深度自训练是实现无监督领域自适应的有效手段。这些方法通常涉及到一个迭代过程,即在目标域上进行预测,然后将自信的预测作为伪标签进行再训练。然而,由于伪…

泛微打造国资委国企双端的监管平台,数据互联,动态管理

数字政府和数字监管成为趋势。数字化方式能够助力完善国有资产管理体制,促进国有资产保值增值,推动国有资本做强做优做大,有效防止国有资产流失。 国资监管过程中存在着诸多挑战 监管企业众多,需要建立不同的管理模式。既要发挥…

C/C++库函数之——str类和mem篇(常用速学)

目录 一,str类 1)strlen 2)strcpy 3)strcmp 4)strcat 5)strstr 二,mem类函数 1)memcpy 2)memmove 一,str类 1)strlen 用途&#xff1a…

光伏5G多合一融合终端|光伏多合一融合终端|光伏多合一群调群控网关|分布式光伏群控群调|光伏AGC/AVC系统这几者之间什么技术关系,多少钱一套预算?

光伏5G多合一融合终端|光伏多合一融合终端|光伏多合一群调群控网关|分布式光伏群控群调|光伏AGC/AVC系统这几者之间什么技术关系,多少钱一套预算? 一:光伏5G多合一融合终端的功能 光伏5G多合一融合终端的功能:群调群控/AGC/AVC功…

[MMDetection]生成测试集预测的test.bbox.json文件

基于MMdetection3.10 困扰了大半天的问题,终于解决了。 方法1:定位到configs\_base_\datasets\coco_detection.py 将里面的路径全部换为自己的路径,最重要的是将以下注释取消掉,特别注意以下两个参数 改好的文件示例 # datase…

数据结构 - 线性表(C语言版)

线性表分为顺序表和单链表 线性表的操作主要是查询、插入、删除 1、顺序表 首先,定义一个顺序表的结构体 #define MAX_SIZE 10 typedef struct {int data[MAX_SIZE];int length; }SqList, * PsqList;创建一个线性表 void createSqList(PsqList pSqList) {pSqLis…

Spring—事务及事务的传播机制

Spring—事务及事务的传播机制 🔎事务的定义🔎Spring—事务的实现铺垫Spring 编程式事务Spring 声明式事务Transactional 的参数注意事项Transactional 的工作原理 🔎Spring—事务的隔离级别MySQL—事务的隔离级别Spring—事务的隔离级别Spri…

剑指 Offer 04. 二维数组中的查找(java)

二维数组中的查找 剑指 Offer 04. 二维数组中的查找题目描述抽象 BST 解题 二叉树专题 剑指 Offer 04. 二维数组中的查找 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof 题目描述…

js为啥是设计成单线程而不是多线程呢

了解这个问题之前,需要先了解一下以下问题: 什么是进程?什么是线程?二者有啥关联?任务队列是什么?宏任务?微任务?eventloop?为什么说js是单线程,为什么要设计…

UWB高精度定位标签方案,厘米级室内测距,实时人员物品位置确定

随着科技的不断进步,UWB技术正逐渐成为各个领域的定位解决方案的首选。其高精度、安全、实时的特性使其在安全免提访问控制、实时室内定位等应用领域发挥着重要的作用。 安全免提访问控制是目前应用UWB技术的重要领域之一。通过将UWB标签(如手机、钥匙扣…