SQL编程学习01

article/2025/10/6 10:18:01

在正式开始学习前,我发现之前安装的MySQL忘记了root密码。

所以在这里补充一下找回root密码的方法:MySQL找回root密码

一、问题与解决:

1、在创建表的时候出现了「1046(ErrorCode:1046.No database select…)」的错误,具体解决办法如下:
在这里插入图片描述

2、更新表的内容时,出现如下错误:Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Queries and reconnect.
解决办法:

show variables like 'SQL_SAFE_UPDATES';   -- 查看安全状态
SET SQL_SAFE_UPDATES = 0;   -- 关闭安全更新模式 

参考链接

二、扩展:

1、drop/ delete/ truncate 的区别:

  • delete/truncate:只删除表中的数据,而不删除表的结构。(和事务无关就用truncate;与事务有关或者想触发trigger就用delete)
  • drop:直接将整个表(数据和结构)删除

2、索引分类:

  • 主键索引:
    建立在主键上的索引,一张表只能有一个主键索引,索引列值不允许有空值,通常在创建表时一起创建。

  • 唯一索引:

在设计关系数据表的时候,看上去唯一的列,例如身份证号、邮箱地址等,因为他们具有业务含义,因此不宜作为主键。

但是,这些列根据业务要求,又具有唯一性约束:即不能出现两条记录存储了同一个身份证号。这个时候,就可以给该列添加一个唯一索引。

  • 普通索引:
    建立在普通字段上的索引。

  • 前缀索引:
    指对字符类型字段的前几个字符或者二进制类型字段的前几个bytes建立的索引,而不是在整个字段上建索引。
    前缀索引可以建立在类行为char, varchar, binary, varbinary的列上,可以大大减少索引占用的存储空间,也能提升索引的查询效率。

  • 全文索引:
    利用“分词技术”实现在长文本中搜索关键字的一种索引。
    最好在插入数据后在创建全文索引

  • 单列索引:
    建立在单个列上。

  • 多列索引:
    建立在多个列上。

三、练习

1、创建表

create table Addressbook
(regist_no integer not null,regist_name varchar(128) not null,address varchar(256) not null,tel_no char(10),mail_address char(20),primary key (regist_no)
);

2、添加一列

alter table Addressbook add column postal_code char(8) not null;

3、删除表

drop table Addressbook;  -- 表结构和内容都删除
truncate table Addressbook;  -- 只删除内容不删除结构

两种删除方式都可以有对应的方式进行恢复:参考链接


http://chatgpt.dhexx.cn/article/HoMa6xgI.shtml

相关文章

SQL编程和高级查询

一、使用SQL操作表 1、SQL语言简介 2、数据库操纵语言 (1)INSERT命令 INSERT INTO grade VALUES (5,五年级);--插入每一列 INSERT INTO grade VALUES (6,六年级); INSERT INTO grade VALUES (7,七年级); INSERT INTO student(stuNo,stuName,sex) VAL…

数据库系统SQL编程-02

目录 一、查询平均分高于60分的课程(MSSQL) 表结构: 表样例 输出样例: 编译程序: 二、查询成绩最高的前三名同学(MSSQL) 表结构: 表样例 输出样例: 编译程序: 三、查询所授每门课程平均成绩均在70分以上的教师(MSSQL) 表结构: 表样例 …

嵌入式SQL编程快速上手教程

嵌入式SQL编程快速上手教程 声明:我这里标题虽是《嵌入式SQL编程快速上手教程》,但只是嵌入式SQL编程的冰山一角罢了,我会通过举一道简单例题来教小白快速上手嵌入式SQL编程 第一:题目描述 其模式描述分别是: S (s…

数据库系统SQL编程-01

目录 一、查询各专业学生的平均成绩(MSSQL) 表结构: 表样例 输出样例: 编译代码: 二、查询平均成绩最高的前3名同学 表结构: 表样例 输出样例: 编译代码: 三、 查询同专业的学生(MSSQL) 表结构: 表样…

pl/sql编程语言

–pl/sql编程语言 –pl/sql编程语言是对sql语言的扩展,是的sql语言具有过程化编程的特性 –pl/sql编程语言比一般的过程化编程语言,更加灵活高效 –pl/sql编程语言主要用来编写存储过程和存储函数等。 --声明方法,定义变量 --赋值操作可以用 : 也可以使…

SQL编程开发

文章目录 SQL概述SQL分类SQL语言规范 基本查询语句查询全部列查询特定列过滤操作模糊查询排序操作多表查询单行函数组函数group by和having 子查询库和表的操作库的操作表的操作数据类型列的操作 数据处理之增删改事务、约束和分页事务约束分页 安装好MySQL下步就是使用MySQL&a…

SQL编程

10-1 查询学生表所有学生记录 (5 分) 本题目要求编写SQL语句, 检索出stu表中所有学生记录。 提示:请使用SELECT语句作答。 表结构: 定义表结构的SQL语句。如: CREATE TABLE stu(sno char(4) NOT NULL,sname char(8) NOT NULL,sex tinyin…

SQL 编程

SQL Server中存在两种变量局部变量和成员变量,两种变量的特点和其他语言变量特点一样 全局变量:由系统定义和维护由系统定义和维护 变量名前加“” 例 name 就定义了一个全局变量“name” 局部变量:由用户定义和使用,变量…

可编程的SQL是什么样的?

背景 如果你使用传统编程语言,比如Python,那么恭喜你,你可能需要解决大部分你不需要解决的问题,用Python你相当于拿到了零部件,而不是一辆能跑的汽车。你花了大量时间去组装汽车,而不是去操控汽车去抵达自…

SQL编程语言1

1 SQL简介 SQL是一门操作关系型数据库的编程语言 SQL通用语法 SQL语句可以以单行或多行书写,以分号结尾。只有在读取到分号后系统才会默认你已经输入执行语句MySQL数据库的SQL语句不区分大小写,关键字建议使用大写注释 单行注释:-- 注释内…

sql数据库高级编程总结(一)

1、数学函数:操作一个数据,返回一个结果 (1)取上限 ceiling 如果有一个小数就取大于它的一个最小整数 列如9.5 就会取到 10 select code,name,ceiling(price) from car (2)取下限 floor 如果有一个小数就…

SQL基础编程

文章目录 一.SQL的环境搭载单机离线环境在线环境 二.SQL的单表操作1.sql基础三步2.sql四则运算3.limit (限制查询结果个数)4.order by(排序)5.where 综合条件筛选6.SQL常量7.distinct (把结果中重复的行删除)8.函数(1) 聚合函数:sum() ——求…

君正X1000芯片性能和处理器介绍

君正X1000芯片是针对语音识别功能做了专门定制的芯片,可以支持4个MIC,支持远场唤醒,功耗很低,适用于物联网、智能家居、智能音频、智能玩具等产品 。 X1000 芯片功能: 穿戴处理器级低功耗,待机功耗0.2mW&am…

IBM storwize V5000存储基础配置

初始帐号密码 Superuser / passw0rd 设备和系统的基本状态 首先添加配置主机,前提是已经连接好光纤线,配置好光纤交换机 这里我们使用光纤通道 系统应该可以自动识别到端口,主机名可以设置为主机型号或者主机应用名 两个端口完成 配置内部存…

《计算机系统概论》-第5章-习题答案

给定指令ADD、JMP、LEA、NOT,请判断它们分别是操作(或运算)指令,还是数据搬移指令或控制指令?对每一条指令,进一步列出该指令可以采用的寻址模式。 指令类型寻址模式ADD操作立即数、寄存器2种寻址模式JMP控…

X1000之LCD部分的翻译

1.显示大小可达640x48060Hz,24BBP RGB 8 8 8 RGB(256^3) 2的24次方16777216 2.支持的颜色就是我们上面计算的 3. 8080并行接口 MCU接口方式(8080,6800接口)与RGB接口主要的区别 4.支持内部DMA操作和寄存器操作(可以…

uboot - 配置过程1(分析国产君正的ingenic-linux-kernel3.10.14-x1000-v8.2-20181116\u-boot\mkconfig脚本)

分析uboot的配置过程(mkconfig脚本) uboot怎么配置?我们在终端上执行make NAME_config时的运行过程解析! STEP1: %_config:: unconfig$(MKCONFIG) -A $(:_config)我们执行make *_config时会运行makefile的这两行程序&#xff0c…

Opencv 以指定格式保存图片

将图像保存至本地&#xff0c;以指定的格式&#xff0c;需要用到cv::imwrite()函数 函数原型&#xff1a; bool imwrite(const string& filename, InputArray img, const vector<int>& paramsvector<int>() )参数解释&#xff1a;filename:图像保存路径&…

【OpenCV-Python】教程:1-1 图像读取显示保存

文章目录 目标代码imread接口原型参数 支持的格式 imwrite接口原型参数 imshow接口原型参数 目标 读图片显示图片保存图片 代码 ## 导入库 import cv2 import sys## 读入图片 img cv2.imread("lena.jpg")## 读入失败退出 if img is None:sys.exit("Could not…

44.Linux君正X1000-添加st7789v显示

由于板子LCD旧屏是ili9335型号的,旧屏有时候会断货,如果断货则使用一个st7789v型号的LCD 它们两个屏的区别在于初始化屏的参数不同,引脚都一样,也就是说需要使板子同时支持ili9335型号和st7789v型号 思路: 1.uboot在显示LOG(初始化屏参数)之前,通过命令来读LCD型号,来检测LCD型…