小笔记-mysql基础

零基础学习MySQL经验分享&自学笔记 MySQL零基础学习心得机会&笔记 写在前面: 我是一个在校学生,也是完全零基础学习数据库的小白(非计算机专业),网上关于数据库的笔记包括视频应该是非常丰富的,技术上比我强的人肯定是比比皆是,所以我就分享一下自己的一些心得。 阅读详情
SET NAMES GBK//就可以在mysql中显示以gbk的形式显示 \G网格形式显示\\''单引号中可以写入字符串
    DESC tb_name/查看数据表的机构
· tb_name1 AS tb_name2//更新别名






declare 声明得是局部得变量 ,在begin end 中使用 
select  。。into 变量  和    @变量 都是全局变量,用户变量,只对当前用户所使用的客户端有效










创建数据库
create database db_name;
查看数据库
show databases;
查看正在使用的数据库
select databases;
使用某数据库
use database;
创建表
create table t_name(
列名 数据类型(size) Null or not Null,//默认为null
...
)
查看数据表
show tables;
show tables from db_name;
show tables from mysql;
查看数据表结构
show columns from tb_name;
插入记录
insert [into] tb_name [(col_name,..)]values(val,...);[]代表可以省略,如果省略就要全部都要赋值
记录的查找
select 。。。。from tb_name;//*代表全部的字段,也就是列。
自动编号 必须和主键(自动为not null)一起使用,默认起始值为一。
create table tb(
id smallint ussigned Auto_increment [primary] key;
.....)
唯一约束unique key(可以存在null,保证记录的唯一性,可以存在多个唯一约束)//也是保证了记录的不重复,null特别
create table tb(
id smallint ussigned Auto_increment [primary] key;
username varchar(20) not null unique key;
.....)
默认约束 default//如果没有复制,系统赋予默认值
create table tb(
id smallint ussigned Auto_increment [primary] key;
username varchar(20) not null unique key;
sex Enum('nan','nv') default 'nan';
.....)
外键约束的要求解析(foreign key)
test pro users








添加(单列,不需要添加小括号)多列必须添加小括号,切不能指顶位置
alter table tb_name ADD [column] col_name int nut null [first|after col_name1(在谁之后)] 默认在最后
添加主键约束
alter table tb_name ADD [constraint [symbol]] primary key[index_type](col_name)
添加唯一约束
alter table tb_name ADD [constraint [symbol]] UNIQUE[index_type](col_name)
添加唯一约束
alter table tb_name ADD [constraint [symbol]] FOREIGN KEY[index_type](col_name) REFERENCES table_name(col_name);//参照得那个字段
添加/删除默认约束
alter table tb_name alter [column] col_name{set default literal(默认值)| Drop default}


删除主键约束
alter table tb_name Drop primary key;
删除唯一约束
首先得查一下 show indexes from Table_name\G(网格状查看)
alter table tb_name Drop index col_name;
删除外键约束
show create table table_name;
alter table tb_name Drop foreign key 外键约束得名字;




删除列
alter table tb_name drop col_name//单列


alter table tb_name drop col_name1,col_name2..;//多列




修改数据表
    修改列定义
alter table tb_name modify [column] col_name 数据类型 nut null frist||after col_name;//改变列得位置,类型也可以修改,但是可能造成数据得丢失
    修改类名称
alter table tb_name change old_col_name new_col_name 数据类型(也可以改变)


    修改数据表得名字


alter table tb_name rename new_table_name;


rename table ta_name to new_tab_name[...]//可以修改多个表名


    插入insert
1.insert tb_name(clo_name,..)VALUES(value1,value2,.。。。,表达式,值都可以,与前面相匹配)//在这个列中,可以一次性插入多个,
当给auto_increment 可以赋值null或则default
给default 可以赋予default
2.insert tb_name1(col_name,....) select ..from tb_name2;
3.insert tb_name set col_name="";
更改记录(单表更新)
update tb_name  set col_name="",...更新一列或者多列
删除记录,单表删除
delect from tb_name where ...




查询表达式可以使用AS alias_name作为别名
select 表名.列名 ...多表链接得时候,这样不会出现错。


group by col_name 或者在select语句中列得位置(数字)【asc默认上升||desc下降】having where (要么 是个聚合函数,要么在select中有这个字段(列名))
AVG()平均 ROUND四舍五入
order by col_name,col_name2....可以多个判断
limit 限制记录所返回得数量
LIMIT 2||limit 3,2;//但是默认从0开始
LIMIT 数值||从那一行开始,数值(多少个)




子查询
SET NAMES GBK//就可以在mysql中显示以gbk的形式显示 \G网格形式显示\\''单引号中可以写入字符串
    DESC tb_name/查看数据表的机构


>ANY 其中任意一个,比最小值小就行<比最大值小
>SOME 其中任意一个,比最小值小就行<比最大值小
ANY SOME 是一样的
>All 满足其全部的条件 ,!=任意值


in /not in 等价于any some运算 ()满足其中至少一个
Exists //not exists






***参照一个表更新另一个表,多表更新

inner join 用on来链接两个表的条件//只能显示两个表共有的
left join 左表中,以左表为标准,显示全部有的 右表不存爱呈现不出来的null取代
right join 右表中,以右表为标准,显示全部有的 左表不存爱呈现不出来的null取代
inner join
update tb_name [连接类型(inner left right)] INNER JOIN tb_name2
      ->ON tb_name.列名=tb_name2.列名
      ->SET tb_name.列名=。。。;//但是列的数据类型并没有改变要想改变数据类型


***** UPDATE TABLE tb_name
->CHANGE old.col_name new.col_name1 数据类型 not null||null


CREATE ....SELECT
CREATE TABLE[IF NOT EXISTS] tb_name
       ->(
-> col_name1 (数据类型) primary key auto_increment,
->col_name2.....
->)
->select .....;//aotu_increment 的不用管了,只要把其他的添加进去就行


***三个表的链接


SELECT col_name1,col_name2...from tb_name1 AS 别名
->INNER JOIN tb_name2 ON 条件
->INNER JOIN tb_name3 ON 条件


自身链接 5-13
将自己看成两个表,一个为字表,一个为父表,一定要起一个别名,别名可以写在声明前面

例如 table table_name 


` select p.col_name,p.col_name2,s.col_name FROM tb_name AS p LEFT(RIGHT,INNER) JOIN
tb_name AS s
->ON 条件 GROUP BY p.col_name ORDER BY p.coi_name;  


多表的删除 (5-14)


首先要判断一下,表中重复的东西,例如,运用分组和聚合函数
SeleCT col_name from tb_name GROUP BY col_name HAVING count(col_name)>1;
//也要有别名,子查询可以设置一个别名
DELETE t1 FROM tb_name AS t1 LEFT JOIN (
SeleCT col_name from tb_name GROUP BY col_name HAVING count(col_name)>1) 
AS t2 ON t1.col_name=t2.col_name WHERE t1.col_ID>t2.col_ID;
//这个列子的含义是 删除一个表中 某项东西重复的(名字)并且保留 ID小的




字符函数
concat('',''....)//可以连接多个字符串


CONCAT_WS('分隔符’,‘’,‘’,...)//使用指定的分隔符进行字符链接
` 出现(‘’分隔符‘’分隔符。。。)


FORMAT(数字,小数点几位)
FORMAT(1235.69,0)保留到整数

LOWER();//小写
UPPER();//大写
LEFT('',INT)//保留几个字符
RIGHT('',INT)//右边开始保留几个字符 
TRIM('')删除空格,前导和后导的,中间的删除不了
TRIM(LEADING '前导字符'FROM '字符串');//前导
TRIM(TRAILING '前导字符'FROM '字符串');//后续
TRIM(BOTH '前导字符'FROM '字符串');//前导,后续,中间的删除不了
REPLACE('字符串','要被代替的字符','代替成什么东西')//替换
LIKE‘’ESCEPT 1 (意思是1之后的那个%不再是通配符了)//模式匹配 %0-多个字符 _一个字符
SUBSTRING(‘字符串’,‘冲那一位开始截取int从1||-1(正,反)开始’,'截取几位')


select connection_id() //链接id
· select database()//当前锁打开的数据库
user()
LAST_INSERT_ID()//最后插入的id
VERSION()//当前版本信息




















DELIMITRT //分界符














自定义函数(user-defined function,UDF)
     参数 返回值

·CREATE FUNCTION FUNCTION_NAME
 RETURNS 
 函数体

删除函数DROP FUNCTION 函数名();


·不带参数的函数
日期转换 DATE_FORMAT(NOW(),'%Y年%m月%d日’);
     ·CREATE FUNCTION F1() RETURNS VARCHAR(30)
·       RETURN DATE_FORMAT(NOW(),'%年%月%日');


·有参数得函数



存储过程
·CREATE PROCEDURN sp_name()


调用 存储过程 CALL sp_name();


存储过程中 类型 IN OUT 分别代表输入的,返回的


ROW_COUNT();显示变化得行数

DELIMITER //分界符
CREATE PROCEDURE p_name( IN p_age smallint unsigned,OUT p_delect smallint unsigned,OUT p_username smallint unsigned)
->begin
->DELETE FROM tb_name WHERE age=p_age;
->SELECT ROW_COUNT() INTO p_delect;  //将查找出来的值赋予p_delect
->SELECT COUNT(id) from tb_name INTO p_username;
->end
->//
DELIMITER ;
CALL p_name(20,@a,@b);


declare 声明得是局部得变量 ,在begin end 中使用 
select  。。into 变量;    @变量 是全局变量,用户变量,只对当前用户所使用的客户端有效


存储引擎

查看数据表 show tables;
查看数据表得创建 show create table tb_name;


并发控制  修改时保证数据一致性和完整性
   *锁 
·共享锁(读锁):在同一时间段,多个用户可以读取同一个资源,读取过程中数据不会发生任何变化

·排他锁(写锁):在任何时候只能有一个用户可以写入资源,当进行写锁时会阻塞其他得读锁或者写锁操作
 
   *锁颗粒
-表锁,是一种开销最小的锁策略(当用户,打开表,用户就会获得这个权限)
-行锁,是一种开销最大得锁策略


事务:用于保证数据库的完整性
外键 : 保证数据一致性
索引:是对数据表中一列或者多列的值进行排序的一种结构


1
存储引擎包括:
·MyISAM 
·InnoDB
·Memory
·CSV
·Archive
`
****修改存储引擎的方法。
·第一种方法
修改配置文件 -dafault-storage-engine=engine(默认);
·第二种方法
CREATE TABLE  tb_name(
->..
->)ENGINE=MyISAM;
查看 show CREATE TABLE tb_name;查看引擎的方式


·第三种方法
ALTER TABLE tb_name RNGINE=InnoDB;修改了数据表的存储引擎





































用Codex自动化挖掘电梯行业外贸客户:从关键词到22维深度分析 在B2B外贸客户开发中,精准定位垂直行业潜在客户是核心挑战。传统手动搜索效率低下,而数据驱动的工作流正成为解决方案。其原理在于将模糊的业务需求转化为机器可识别的结构化查询,通过组合行业核心关键词(如“Elevator Manufacturer”、“Elevator Maintenance”)与商业角色描述,系统性地从海量数据中筛选目标。这种自动化抓取技术的价值在于,它不仅生成客户名单,更通过多维数据分析(如公司规模、业务标签、数字足迹)构建初步的客户画像,为后续的优先级排序和个性化触达提供情报基础。在工业制 阅读详情

相关推荐

告别点不亮!STM32F103驱动HT1621段码屏的常见坑点与调试心得

本文详细解析了STM32F103驱动HT1621段码屏的五大常见问题及解决方案,包括硬件连接、时序控制、RAM地址映射等关键难点。通过实测数据和代码示例,帮助开发者快速排查显示异常问题,提升驱动开发效率。特别针对HT1621与STM32F103的兼容性问题提供了专业调试建议。

weixin_30925435的博客 380

MYSQL(6) 修改数据表 列和约束的修改

1.添加单列;           ALTER TABLE tb_name ADD[COLUMN] col_name column_definition[FIRST|AFTER col_name];2.添加多列           ALTER TABLE tb_name ADD[COLUMN] (col_name1,col_name2……);3.删除列            ALTER TABLE...

eddiehrs的博客 636

TP4054芯片实战:手把手教你设计USB锂电充电电路(附PCB散热优化技巧)

本文以TP4054芯片为核心,手把手教你设计稳定可靠的USB锂电池充电电路。文章详细解析了芯片的恒流恒压工作模式、关键外围元件选型计算,并重点分享了PCB布局与散热优化的实战技巧,帮助工程师从“能工作”提升到“工作得好”,确保充电效率与系统稳定性。

1a2s3d4f5g的博客 468

MySQL基础课堂笔记

MySQL基础知识学习笔记整理 数据库的基本概念 MySQL数据库软件 安装 卸载 配置 SQL 数据库的基本概念 1. 数据库的英文单词: DataBase 简称 : DB 2. 什么数据库? * 用于存储和管理数据的仓库。 3. 数据库的特点: 1. 持久化存储数据的。其实数据库就是一个文件系统 2. 方便存储和管理数据 3. 使用了统一的方式操作数据库...

不怕万人阻挡,只怕自己投降 9655

TikTok达人私信自动化:用Node.js和纯JavaScript实现WSS协议通信(附完整代码结构)

本文详细介绍了如何使用Node.js和WSS协议实现TikTok达人私信自动化系统。通过分层架构设计、WSS连接管理、消息加密策略及频率控制,开发者可以构建稳定高效的私信工具,突破平台API限制,适用于跨境电商和社交媒体运营场景。

weixin_30352645的博客 521

西门子交换机环网冗余设置(实战篇2.2)

MRP的重组时间为 200ms 因此 PROFINET 通信必须选择大于 200ms 的看门狗时间,看门狗。ET200SP默认为 2ms*3=6ms) MRP 的重组时间为 200ms 故系统会报出看门狗超时。更新,默认是 3 个周期,超出设置的周期数就会报 IO 设备故障。时间不是直接配置的,而是作为没有 IO 数据可接受的更新周期,也就是允许几个周期没有数据。来达到大于 200ms 的看门狗时间的要求(看门狗时间 可接受更新周期数 更新时间)。是IO 控制器和 IO 设备)

weixin_42580591的博客 366

MySQL基础学习笔记

查询数据库创建数据库删除数据库使用数据库主键约束(primary key)非空约束(not null)唯一约束(unique)检查约束(check)默认约束(default)数据库软件DMBS(数据库管理系统)。数据库是通过DBMS操作和管理的容器。你使用的DMBS,它替你访问数据库。MYSQL是DBMS。DBMS分为共享文件系统的、基于客户机-服务器的。MYSQL属于后者。MYSQL关系型数据库(RDBMS):建立在关系模型基础上,有多张相互连接的二维表组成的数据库。

锈铁与酒的博客 702

比亚迪开放平台接口实战:车身状态监测与智能车联应用开发

本文详细介绍了如何利用比亚迪开放平台的车身状态接口进行智能车联应用开发。通过核心类BYDAutoBodyworkDevice,开发者可以安全获取车辆VIN、车门车窗状态、蓄电池电压、方向盘转角等实时数据,并利用监听器实现状态实时响应。文章提供了从SDK集成、接口调用到典型应用场景(如远程车况检查、车队管理)的完整实战指南,助力开发者快速构建基于比亚迪车辆数据的创新应用。

weixin_29176179的博客 728

Mysql基础笔记

mysql基础,增删改命令,书写执行顺序,多表联查,约束,常用函数,事务

weixin_43585257的博客 1580

2026.3.28:langgraph使用mysql进行持久化会话存储(短期记忆和长期记忆)

本文介绍了如何使用MySQL持久化存储LangGraph会话数据(短期和长期记忆)。首先安装必要的依赖包,然后通过Python代码实现将短期记忆写入MySQL数据库。主要步骤包括:1) 建立MySQL连接;2) 创建代理(agent)并配置检查点(checkpointer)和存储(store);3) 实现工具函数如计算器和天气查询;4) 使用中间件跟踪工具和模型调用次数。最后展示了如何从MySQL读取短期记忆数据,完成会话的持久化存储和检索功能。代码示例包含完整的实现细节,包括状态管理、消息处理和数据库操作

拥抱具身智能,昇腾Ascend C 737

python全栈入门到实战【基础篇 02】环境搭建:Python解释器与PyCharm、VSCode编辑器安装配置详解

本文详解Python环境搭建步骤。首先安装解释器(运行代码核心),需从官网下载,选3.8及以上版本(勿选2.x)。Windows安装必勾“Add Python.exe to PATH”,验证用`python --version`;Mac选universal2安装包,验证用`python3 --version`。 编辑器二选一:PyCharm社区版(免费,新手推荐),安装后需配置解释器路径;VSCode轻量,需装Python插件并选择解释器。

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 5万+

mysql笔记-基础篇

地址:mysql笔记-基础篇

qq_39202382的博客 250

Jetson nano 系列之2—板载摄像头IMX219启动

我选用的是亚博科技jetson nano的开发板。

驽马十驾,功在不舍;锲而不舍,金石可镂。 4275

mysql基础学习笔记【yunyu】

mysql概览复习,较详细版。

weixin_50799927的博客 386

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

MySQL自学笔记(零基础到考试6天)

MySQL笔记(零基础到考试6天) 全部SQL源文件链接:https://pan.baidu.com/s/1wc51qkVetSRybFzcIYGBIg 提取码:3wpt 开始 这是关于MySQL的课程学习笔记,写他只是为了复习,因为我知道,我容易忘,既然容易忘,那就写下来,根据自己的思路去写,怎么学的怎么写,可能和大多数教科书不大一样。 但这都不重要,因为,初衷是方便我自己去看!!!!所以,有的地方不一定是特别好,但我认为这是最适合我自己的,因为是自己的笔记。当然,如果您在阅读中发现什么错误,请留言

杨丙寅 1万+

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

尚硅谷mysql基础到高级笔记

mysql基础部分笔记 mysql高级部分笔记 视频地址:MySQL 基础+高级篇- 数据库 -sql -尚硅谷

stay hungry,stay foolish! 1295

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

MySQL 学习笔记:从基础到进阶

数据库是按照数据结构来组织、存储和管理数据的仓库,MySQL 是一种常用的关系型数据库管理系统,以其开源、高效、可靠等特点广泛应用于各种 Web 应用开发中。

qq_69304031的博客 947

最基础的mysql笔记

我们公司是游戏公司,数据库用的就是mysql。我zhiq

iiRecord的专栏 1217

MySQL基础、进阶与运维学习笔记

MySQL基础、进阶与运维学习笔记 去发现同类优质开源项目:https://gitcode.com/ 这是一份关于MySQL的学习笔记,涵盖基础、进阶和运维方面的内容。笔记由我自己整理,旨在记录老师在课程中讲解的知识点。虽然这份笔记不算特别详细,但已尽量将关键知识要点梳理出来,供大家参考。 在学习过程中,您可能会遇到一些疑问,希望这份笔记能为您提供一些帮助。如果您对MySQL感兴趣,欢迎阅读这份学...

gitblog_06758的博客 182

MySQL基础笔记

概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。目的:保证数据库中数据的正确、有效性和完整性。约束描述关键字非空约束限制该字段的数据不能为nullNOT NULL唯一约束保证该字段的所有数据都是唯一、不重复的UNIQUE主键约束主键是一行数据的唯一标识,要求非空且唯一默认约束保存数据时,如果未指定该字段的值,则采用默认值DEFAULT检查约束(8.0.16版本 之后)保证字段值满足某一个条件CHECK外键约束。

RCBryant的博客 127

MySQL学习笔记——基础篇

本文是MySQL数据库基础篇的简明笔记,主要涵盖四大核心内容:1. SQL分类:详细介绍了DDL(数据定义语言)、DML(数据操作语言)、DQL(数据查询语言)和DCL(数据控制语言)的语法与功能;2. 数据类型与约束:包括常用数据类型、主键、外键等约束条件的使用方法;3. 多表查询:讲解了内连接、外连接、自连接等查询方式及联合查询、子查询的实现;4. 事务管理:说明事务的ACID特性、并发问题及隔离级别设置。文档提供了大量实用代码示例,适合作为MySQL初学者的快速参考指南。

2301_78452647的博客 753

【MySQL基础】一篇就够啦—学习笔记整理

顺着尚硅谷的康老师的资料一路学习过来的,整理了MySQL基础篇的内容,一共17章的内容,前前后后发了十几篇博文,这里做一下目录整理

一棵灬大树的博客 434

MySQL基础学习笔记,MySQL基础-进阶-运维全流程学习

MySQL学习笔记指令速查,MySQL基础-进阶-运维全流程学习,涵盖内容广泛

m0_54068390的博客 1417
上一篇: 小笔记-java基础
下一篇: eclipse配置tomcat
ProsperousSun
博客等级 码龄10年 4粉丝 55原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值