主頁 > 後端開發 > mysql操作基礎知識

mysql操作基礎知識

2020-11-08 20:36:12 後端開發

前言

關于mysql的安裝和理論知識可以自行百度搜索,為方便書寫本篇采用圖片方式展示,若需要可視化工具可以自行下載,


以下是本篇文章正文內容,下面案例可供參考

一、SQL操作基礎部分

操作資料庫

創建、查看、修改、洗掉資料庫

創建:字符集和字符集校對規則可以省略,
create database 資料庫名稱 character set 字符集 collate 字符集校對規則
在這里插入圖片描述
查看:
查看資料庫服務器中所有的資料庫:show databases;
在這里插入圖片描述
查看某個資料庫的定義資訊:show create database 資料庫名稱;
在這里插入圖片描述
修改:
alter database 資料庫名稱 character set 字符集 collate 校對規則;
在這里插入圖片描述
洗掉:
drop database 資料庫名稱;
在這里插入圖片描述

其他操作:

切換資料庫: use 資料庫名稱;
查看當前正在使用的資料庫:select database();
在這里插入圖片描述

操作表

要想操作表首先要了解一些基礎知識,在下列給出,

創建、查看、修改、洗掉表

創建:
create table 表名稱 (欄位名稱 欄位型別(長度) 約束 ,欄位名稱 欄位型別(長度) 約束…);

那么這個欄位型別有哪些呢?看下表

java的型別mysql的型別
byte/short/int/longtinyint/smallint/int/bigint
floatfloat
doubledouble
boolean true和false辨別bit 使用0和1來辨別
char/Stringchar和varchar型別
Datedate/time/datetime/timestamp
FileBLOB/TEXT

char和varchar的區別:
char代表是固定長度的字符或字串,
定義型別char(8),向這個欄位存入字串hello,那么資料庫使用三個空格將其補全,
varchar代表的是可變長度的字串,
定義型別varchar(8),向這個欄位存入字串hello,那么存入到資料庫的就是hello,

datetime和timestamp區別
datetime就是既有日期又有時間的日期型別,如果沒有向這個欄位中存值,資料庫使用null存入到資料庫中
timestamp也是既有日期又有時間的日期型別,如果沒有向這個欄位中存值,資料庫使用當前的系統時間存入到資料庫中,

那么這個約束有哪些呢?
約束:
約束作用:保證資料的完整性,
單表約束分類:
主鍵約束: primary key主鍵約束默認就是唯一非空的
唯一約束:unique
非空約束:not null

了解上述知識后,在doc中運行代碼,(筆者調了一下doc視窗顏色,不用在意)

create table user(
	id int primary key auto_increment,
	username varchar(20) unique,
	password varchar(20) not null,
	age int,
	birthday date
);

在這里插入圖片描述
查看:
查看某個資料庫下的所有的表 : show tables;
在這里插入圖片描述
查看某個表的結構資訊 : desc 表名;
在這里插入圖片描述
洗掉:
drop table 表名;
在這里插入圖片描述
修改:
添加列
alter table 表名 add 列名 型別(長度) 約束;
在這里插入圖片描述
修改列型別,長度和約束
alter table 表名 modify 列名 型別(長度) 約束;
在這里插入圖片描述
洗掉列
alter table 表名 drop 列名;
在這里插入圖片描述

修改列名稱
alter table 表名 change 舊列名 新列名 型別(長度) 約束;
在這里插入圖片描述

修改表名
rename table 表名 to 新的表名;
在這里插入圖片描述

修改表的字符集
alter table 表名 character set 字符集;
在這里插入圖片描述

操作表的記錄

添加、修改、洗掉、查看記錄

添加:
向表中插入某些列: insert into 表名(列名1,列名2,列名3…) values (值1,值2值3…)
向表中插入所有列: insert into 表名 values (值1,值2,值3…)
在這里插入圖片描述
注意事項:
值的型別與資料庫中表列的型別一致,
值的順序與資料庫中表列的順序一致,
值的最大長度不能超過列設定最大長度,
值的型別是字串或者是日期型別,使用單引號引起來,

如果插入中文記錄錯誤,則很大可能是字符集不一致導致,可以用 show variables like ‘%character%’; 查看字符集,若是客戶端為utf8則去mysql的安裝路徑修改.ini組態檔,改成gbk即可,具體可查看百度,

修改:
update 表名 set 列名=值 , 列名=值 [where條件];
在這里插入圖片描述
注意:
1.值的型別與列的型別一致,
2.值的最大長度不能超過列設定的最大長度,
3.字串型別和日期型別添加單引號,
洗掉:
delete from 表名 [where條件];
在這里插入圖片描述
注意:
1.洗掉表的記錄,指的是洗掉表中的一行記錄,
2.洗掉如果沒有條件,默認是洗掉表中的所有記錄,

拓展:
洗掉表中的記錄有兩種做法:
delete from user; 洗掉所有記錄,屬于DML陳述句,原理是一條記錄一條記錄洗掉,事務可以作用在DML陳述句上的,可以用 rollback 陳述句回滾;

truncate table user; 洗掉所有記錄,屬擴DDL陳述句,將表洗掉,然后重新創建一個結構一樣的表,事務不能控制DDL的,

查看:
查詢前先創建表,并且添加資料,
例如:

create table exam(
	id int primary key auto_increment,
	name varchar(20),
	english int,
	chinese int,
	math int
);

insert into exam values (null,'張三',84,74,91);
insert into exam values (null,'李四',93,71,81);
insert into exam values (null,'王五',75,54,71);
insert into exam values (null,'趙六',42,94,81);
insert into exam values (null,'田七',81,71,51);
insert into exam values (null,'熊二',81,71,51);

如下圖:
在這里插入圖片描述
基本語法:
select [distinct] * 列名 from 表 [條件];
例子1:查詢學生總成績(as 為起別名的意思)
在這里插入圖片描述
條件查詢:
<, >,>= , <= ,<> ,=
like : 模糊查詢
in : 范圍查詢
條件關聯: and , or ,note
例子2:查詢名字叫李四或者英語成績大于80分的
在這里插入圖片描述
例子3:查詢姓 李 的學生資訊(%和 _都是占位符,%代表任意個,_代表一個字符)
在這里插入圖片描述
例子4:查詢英語成績為84,91,42的學生資訊
在這里插入圖片描述
例子5:排序語文成績升序,如果語文成績相同就英語成績降序排
在這里插入圖片描述
分組統計查詢:

聚合函式:sum()

例子6:統計學生所有成績總和,
有兩種寫法:

select sum(english + chinese + math) from exam; //一種橫向相加再求和
select sum(english) + sum(chinese) + sum(math) from exam; //一種豎向求和再相加,推薦使用這一種,

在這里插入圖片描述
這兩種乍一看沒什么區別,實際上有個很小的細節,若當實際有資料為null的時候,注意橫向相加時,null加上任意資料都為null,所以不會加上資料有null的那一行,
那么怎么修改呢,只需要添加一個ifnull()的判斷就可以了,把資料為null的地方當成0就可以了,

select sum(ifnull(english,0)+ifnull(chinese,0)+ifnull(math,0)) from exam;

count()、avg()
例子7:統計英語成績不等于81的學生個數,
在這里插入圖片描述
獲取語文成績平均值
在這里插入圖片描述
max()、min()
例子8:獲取英語的最大值和數學的最小值
在這里插入圖片描述

分組查詢:
重新創建表,如下:

create table orderitem(
	id int primary key auto_increment,
	product varchar(20),
	price double
);
insert into orderitem values (null,'電視機',4900);
insert into orderitem values (null,'電視機',3499);
insert into orderitem values (null,'吹風機',5999);
insert into orderitem values (null,'吹風機',2669);
insert into orderitem values (null,'電腦',1319);
insert into orderitem values (null,'電腦',1249);
insert into orderitem values (null,'手機',999);

例子:查詢每個種類的訂單數量和銷售價格總和
在這里插入圖片描述
例子:按商品名稱統計,統計每類商品花費的總金額在5000元以上的商品
在這里插入圖片描述
注意:where的子句后面不能跟著聚合函式,如果需要使用帶有聚合函式的條件過源(分組后條件過濾)需要使用一個關鍵字having

二、MYSQL的進階操作

重置MYSQL密碼

停止mysql服務——》開啟一個cmd(跳過權限認證),輸入mysqld --skip-grant-tables——》再開啟一個cmd (不要關了之前的)這個時候登錄mysql不需要密碼——》在這個mysql中修改密碼,輸入use mysql;
update user set password = password(‘新的密碼’) where user = ‘root’;
——》然后在任務管理器結束mysqld的行程——》重新啟動mysql服務,OK完成,

資料庫備份和還原

備份資料庫:在cmd管理員輸入 mysqldump -u root -p 資料庫名 >D:/資料庫名.sql
還原資料庫:
第一種:先在mysql中創建資料庫名字可以一樣,然后再打開cmd管理員輸入mysql -u root -p 創建的資料庫名稱<D:/備份的資料庫名稱.sql
第二種:先在mysql中創建資料庫,然后輸入 use 剛剛創建的資料庫,輸入 source D:/備份資料庫名字.sql

多表

設計:外鍵約束

首先先創建兩個表如下:

create table dept(
	did int primary key auto_increment,
	dname varchar(20)
) ;
insert into dept values (null,'市場部');
insert into dept values (null,'人事部');
insert into dept values (null,'教研部');

create table employee(
	eid int primary key auto_increment,
	ename varchar(20),
	salary double,
	birthday date,
	sex varchar(10),
	dno int
);
insert into employee values (null,'張三',8000,'1988-09-01','男',3);
insert into employee values (null,'李四', 9000,'1988-09-01','男',1);
insert into employee values (null,'王五', 6000,'1988-09-01','男',2);
insert into employee values (null, '趙六',10000,'1988-09-01','男',3);
insert into employee values (null,'孫七',10000,'1988-09-01','男',1);

在員工表上添加外鍵,設定外鍵為非空
在這里插入圖片描述
對于表之間外鍵的關系有下列3種情況:
一對一關系:
一對一關系是最好理解的一種關系,在資料庫建表的時候可以將人表的主鍵放置與身份證表里面,也可以將身份證表的主鍵放置于人表里面,即假設任一張表是一對多的情況即可,
一對多關系:
班級是一端,學生是多端,那么學生表里面應該放置班級表里面的主鍵,即建立外鍵指向班級的主鍵,(在多的一端建立外鍵)
多對多關系:
對于多對多關系,需要轉換成1對多關系,那么就需要一張中間表來轉換,這張中間表里面需要存放學生表里面的主鍵和課程表里面的主鍵,建立外鍵各自指向所對應的表,此時學生與中間表示1對多關系,課程與中間表是1對多關系,學生與課程是多對多關系,

查詢

創建如下資料庫:

create table classes(
	cid int primary key auto_increment,
	cname varchar(20),
	cum int
);
insert into classes values(null,'01班',20);
insert into classes values(null,'02班',30);
insert into classes values(null,'03班',32);
insert into classes values(null,'04班',41);
create table course(
	cid int primary key auto_increment,
	cname varchar(20)
);
insert into course values (null,'Java');
insert into course values (null,'PHP');
insert into course values (null,'C++');
create table student(
	sid int primary key auto_increment,
	sname varchar(20),
	sex varchar(10),
	birthday date,
	con int,
	foreign key (con) references course (cid)
);
insert into student values (null,'張三','男','1990-09-23',1);
insert into student values (null,'李四','女','1991-11-28',1);
insert into student values (null,'王五','男','1992-10-14',1);
insert into student values (null,'趙六','女','1990-12-17',2);
insert into student values (null,'田七','男','1993-07-04',2);
insert into student values (null,'張吳','男','1991-04-04',2);
insert into student values (null,'張老七','女','1990-01-21',3);
insert into student values (null,'王老四','女','1992-05-03',3);
insert into student values (null,'李流','男','1994-01-09',3);
create table stu_cour(
	scid int primary key auto_increment,
	sno int,
	cno int,
	score int,
	foreign key (sno) references student (sid),
	foreign key (cno) references course (cid)
);
insert into stu_cour values(null,1,1,85);
insert into stu_cour values(null,1,3,75);
insert into stu_cour values(null,2,2,60);
insert into stu_cour values(null,2,3,67);
insert into stu_cour values(null,3,1,89);
insert into stu_cour values(null,3,2,72);
insert into stu_cour values(null,4,1,54);
insert into stu_cour values(null,4,3,77);
insert into stu_cour values(null,5,1,56);
insert into stu_cour values(null,5,2,68);
insert into stu_cour values(null,5,3,73);
insert into stu_cour values(null,6,1,82);
insert into stu_cour values(null,6,5,96);
insert into stu_cour values(null,7,1,100);
insert into stu_cour values(null,7,3,99);
insert into stu_cour values(null,8,3,89);
insert into stu_cour values(null,9,1,97);
insert into stu_cour values(null,9,2,100);

連接查詢:
交叉連接:cross join
交叉連接:查詢到的是兩個表的笛卡爾積,
語法:
select * from 表1 , 表2;
select * from 表1 cross join 表2 ;
在這里插入圖片描述
內連接:inner join (inner是可以省略的)
顯示內連接:在SQL中顯示的呼叫 inner join 關鍵
字,
語法 :select * from表 1 inner join表 2 on 關聯條件;
隱式內連接:在SQL中沒有呼叫inner join關鍵字
語法: select * from 表1 , 表2 where 關聯條件;
在這里插入圖片描述

外連接: outer join(outer)可以省略的
左外連接:
語法: select * from 表 1 left outer join 表2 on 關聯條件;
右外連接
語法: select * from 表1 right outer join 表2 on 關聯條件;
在這里插入圖片描述
即可以左外連接可以查詢到沒有學生的班級,右外連接可以查詢到沒有班級的學生,看具體陳述句而定,
區別:
在這里插入圖片描述
子查詢 :
一個查詢陳述句條件需要依賴另一個查詢陳述句的結果,
帶 in 的子查詢:
例子:查詢學生出生在91年之后的資訊:
在這里插入圖片描述
帶exists查詢:如果學生有出生于91年之后則輸出前面查詢的陳述句
在這里插入圖片描述
帶any的子查詢:大于任意一個(any等效于找出子查詢的最小值)下圖例子:any找出的大于任意一個即大于最小的即可也就是1,所以cid輸出大于1的了
在這里插入圖片描述

帶all 的子查詢:與any相反,大于所有的下圖例子,all找出的大于所有的即大于最大的即可也就是3,所以cid輸出大于3的了,
在這里插入圖片描述

事務

事務:指的是邏輯上的一組操作,組成這組操作的各個邏輯單元,要么全都成功,要么全都失敗,
例子:建個表

create table account(
	id int primary key auto_increment,
	name varchar(20),
	money double
);
insert into account values (null,'小張',10000);
insert into account values (null,'小鳳',10000);

開啟事務:start transaction;
在這里插入圖片描述
事務回滾至事務開始狀態:roll back;在這里插入圖片描述
事務提交:commit;

特性

原子性:事務的不可分割,組成事務的各個邏輯單元不可分割,
一致性:事務執行的前后,資料完整性保持一致,
隔離性:事務執行不應該受到其他事務的干擾,
持久性:事務一旦結束,資料持久化到資料庫中,

事務隔離級別

隔離性:一個事務的執行,不應該受到其他事務的干擾,如果不考慮隔離性〈一個事務執行受到其他的事務的干擾),引發一些安全問題,主要體現在讀取資料上:
臟讀:一個事務讀到了另一個事務未提交的資料,導致查詢結果不一致
不可重復讀:一個事務讀到了另一個事務已經提交的update 的資料,導致多次查詢結果不一致,
虛讀/幻讀:一個事務讀到了另一個事務已經提交的 insert的資料,導致多次查詢結果不一致,

設定事務的隔離級別:
read uncommitted : 臟讀,不可重復讀,虛讀都有可能發生
read committed : 避免臟讀,但是不可重復讀和虛讀是有可能發生
repeatable read︰避免臟讀和不可重復讀,但是虛讀有可能發生,
serializable : 避免臟讀,不可重復讀,虛讀,別的視窗事務執行完之后才會執行當前視窗事務,

可以開啟兩個視窗,同時開啟事務進行操作,

set session transaction isolation level 隔離級別; //設定事務隔離級別
select @@tx_isolation; //查看當前隔離級別

總結

以上就是今天要講的內容,本文僅僅簡單介紹了mysql的簡單使用,進階版高級版會在后續發出,

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/207050.html

標籤:java

上一篇:Redis(設計與實作):---發布與訂閱之查看訂閱資訊(PUBSUB CHANNELS/NUMSUB/NUMPAT命令)

下一篇:SQL陳述句實作水仙花數求取

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • Rust中的智能指標:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak

    Rust中的智能指標是什么 智能指標(smart pointers)是一類資料結構,是擁有資料所有權和額外功能的指標。是指標的進一步發展 指標(pointer)是一個包含記憶體地址的變數的通用概念。這個地址參考,或 ” 指向”(points at)一些其 他資料 。參考以 & 符號為標志并借用了他們所 ......

    uj5u.com 2023-04-20 07:24:10 more
  • Java的值傳遞和參考傳遞

    值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......

    uj5u.com 2023-04-20 07:24:04 more
  • [2]SpinalHDL教程——Scala簡單入門

    第一個 Scala 程式 shell里面輸入 $ scala scala> 1 + 1 res0: Int = 2 scala> println("Hello World!") Hello World! 檔案形式 object HelloWorld { /* 這是我的第一個 Scala 程式 * 以 ......

    uj5u.com 2023-04-20 07:23:58 more
  • 理解函式指標和回呼函式

    理解 函式指標 指向函式的指標。比如: 理解函式指標的偽代碼 void (*p)(int type, char *data); // 定義一個函式指標p void func(int type, char *data); // 宣告一個函式func p = func; // 將指標p指向函式func ......

    uj5u.com 2023-04-20 07:23:52 more
  • Django筆記二十五之資料庫函式之日期函式

    本文首發于公眾號:Hunter后端 原文鏈接:Django筆記二十五之資料庫函式之日期函式 日期函式主要介紹兩個大類,Extract() 和 Trunc() Extract() 函式作用是提取日期,比如我們可以提取一個日期欄位的年份,月份,日等資料 Trunc() 的作用則是截取,比如 2022-0 ......

    uj5u.com 2023-04-20 07:23:45 more
  • 一天吃透JVM面試八股文

    什么是JVM? JVM,全稱Java Virtual Machine(Java虛擬機),是通過在實際的計算機上仿真模擬各種計算機功能來實作的。由一套位元組碼指令集、一組暫存器、一個堆疊、一個垃圾回收堆和一個存盤方法域等組成。JVM屏蔽了與作業系統平臺相關的資訊,使得Java程式只需要生成在Java虛擬機 ......

    uj5u.com 2023-04-20 07:23:31 more
  • 使用Java接入小程式訂閱訊息!

    更新完微信服務號的模板訊息之后,我又趕緊把微信小程式的訂閱訊息給實作了!之前我一直以為微信小程式也是要企業才能申請,沒想到小程式個人就能申請。 訊息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。 https://gitee.com/zhongfuch ......

    uj5u.com 2023-04-20 07:22:59 more
  • java -- 緩沖流、轉換流、序列化流

    緩沖流 緩沖流, 也叫高效流, 按照資料型別分類: 位元組緩沖流:BufferedInputStream,BufferedOutputStream 字符緩沖流:BufferedReader,BufferedWriter 緩沖流的基本原理,是在創建流物件時,會創建一個內置的默認大小的緩沖區陣列,通過緩沖 ......

    uj5u.com 2023-04-20 07:22:49 more
  • Java-SpringBoot-Range請求頭設定實作視頻分段傳輸

    老實說,人太懶了,現在基本都不喜歡寫筆記了,但是網上有關Range請求頭的文章都太水了 下面是抄的一段StackOverflow的代碼...自己大修改過的,寫的注釋挺全的,應該直接看得懂,就不解釋了 寫的不好...只是希望能給視頻網站開發的新手一點點幫助吧. 業務場景:視頻分段傳輸、視頻多段傳輸(理 ......

    uj5u.com 2023-04-20 07:22:42 more
  • Windows 10開發教程_編程入門自學教程_菜鳥教程-免費教程分享

    教程簡介 Windows 10開發入門教程 - 從簡單的步驟了解Windows 10開發,從基本到高級概念,包括簡介,UWP,第一個應用程式,商店,XAML控制元件,資料系結,XAML性能,自適應設計,自適應UI,自適應代碼,檔案管理,SQLite資料庫,應用程式到應用程式通信,應用程式本地化,應用程式 ......

    uj5u.com 2023-04-20 07:22:35 more