小笔记-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;修改了数据表的存储引擎





































多臂老虎机——入门强化学习 多臂老虎机(Multi-Armed Bandit,MAB)问题是强化学习的经典入门例子,也是理解探索与利用(exploration-exploitation)平衡的重要案例。 阅读详情

相关推荐

springboot源码 红色J_通达信副图指标源码之,出手就赢

今天跟大家分享一个通达信副图指标源码,本指标没有未来函数,因为本指标没有卖点提示,所以本指标需配合主图指标使用效果会更好,简单易懂,很容易明白,所以就不过多介绍使用方法了,以下是指标的贴图。风险提示!股市有风险买卖需谨慎,本指标只做参考建议,不做买卖交易结果,自己要对自己交易结果的盈亏负责,以下是指标的源码。VAR2:=REF(LOW,1);VAR3:=SMA(ABS(LOW-VAR2),3,1)...

weixin_39859909的博客 2848

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

SecureCRT 9.0最新版安装与激活全攻略(附驱动识别技巧)

本文提供SecureCRT 9.0最新版的详细安装与激活指南,并重点解析了嵌入式开发中串口连接的硬件驱动识别技巧。内容涵盖从安全获取软件、解决USB转串口驱动兼容性问题,到配置SSH与串口会话的完整流程,旨在帮助开发者和工程师高效部署并精通使用这款终端仿真利器。

star的博客 413

MySQL基础课堂笔记

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

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

高德地图 搜索和点击定位

高德地图vue

weixin_45474673的博客 1943

vue支付项目-APP支付宝支付功能

如果用户已安装支付宝客户端,商家 App 唤起支付宝完成支付,支付完后跳回到商家 App 内,最后展示支付结果。如果用户没有安装支付宝客户端,商家 App 内会调起支付宝网页支付收银台,用户登录支付宝账号,支付完后展示支付结果。1.点击按钮开通或者续费,会验证是否选择会员商品以及对协议是否查看选中(这里根据项目需要自行验证,可忽略),验证通过打开选择支付方式弹窗页面,选择微信支付或者支付宝支付;4.可取消支付,放弃支付会返回会员页面,页面提示支付取消;1.判断支付方式,如果是2,则是支付宝支付方式。

总结前端开发中遇到的问题,分享前端知识 1万+

MySQL基础学习笔记

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

锈铁与酒的博客 702

DRV8311HRRWR直流无刷(BLDC)电机驱动原理图设计

DRV8311HRRWR集成三个MOSFET 半H桥,用于驱动三相无刷直流电机(BLDC),适用于5V、9V、12V或18V直流电源轨或1S至4S电池供电应用。内部集成三个具有集成电流感测功能的电流感测放大器(CSA),可感测BLDC电机的三相电流,从而实现FOC和电流控制系统设计方案。集成保护特性:VM 欠压锁定 (UVLO)、 电荷泵欠压 (CPUV)、过流保护 (OCP)、热警告和热关断 (OTW/OTSD)、故障条件指示引脚 (nFAULT)支持 1.8V、3.3V 和 5V 逻辑输入。

zhusl6688的博客 1228

Mysql基础笔记

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

weixin_43585257的博客 1580

解决Qt字体问题:QFontDatabase: Cannot find font directory xx/lib/fonts

1.直接在main函数里设置app的整体字体库.这个错误提示比较明显的就是字体库缺失。

有问题或资源连接有缺失的可以私信公众号新潮看世界获取 3044

[SoC]SoC验证中bootcode与firmware相关验证经验总结

本文总结了SoC验证中bootcode和firmware的验证经验。重点介绍了两种数据加载方法:1)使用Verilog系统函数$readmemh/$readmemb直接写入ROM/ARAM,需注意文件路径、格式和斜杠方向;2)通过Memory Hierarchy在initial块中操作,需要添加适当延时并注意路径拼接。文章还提供了在testcase phase中先读取数据到HASH再写入SRAM的示例,并强调加载后需使能edc_bypass以避免ECC错误。验证过程中需特别注意文件位置、格式要求及路径处理等

元直的博客 2498

mysql笔记-基础篇

地址:mysql笔记-基础篇

qq_39202382的博客 250

从零实现深度学习框架——自动求导神器计算图

本文介绍自动求导神器——计算图,从本篇文章开始介绍一个自定义的求导工具。

日积月累,天道酬勤 4199

mysql基础学习笔记【yunyu】

mysql概览复习,较详细版。

weixin_50799927的博客 386

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

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

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

杨丙寅 1万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

尚硅谷mysql基础到高级笔记

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

stay hungry,stay foolish! 1295

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

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、付费专栏及课程。

余额充值