LINUX中MYSQL的使用

LINUX中MYSQL的使用

MYSQL的數據類型

bool: 布爾類型 0 或者 1

CHAR: 單字符的字符

CHAR(n):多字節字符

VARCHAR(n):可變長度的字符型

TINYINT : 單字節整型

SMALLINT: 雙字節整型

MEDIUMINT: 三字節整型

INT: 四字節整型

BIGINT: 八字節整型

FLOAT: 浮點型

DOUBLE: 雙精度浮點型

DATE: 日期類型

? 2025-06-17

? yyyy-mm-dd

時間類型

? 10:19:20

? HH:MM:SS

日期時間類型

? 2025-06-17 10:19:20

? yyyy-mm-dd HH:MM:SS

mysql 的常用詞匯

database 數據庫

table 表

row 行

column 列

from 來自于

select 選擇

show 顯示

insert 插入

delete 刪除

drop 刪除

where 條件

change 更改

update 更新

mysql 的顯示

進入數據庫

mysql -u root -p

顯示數據庫

show databases;

切換數據庫

use + 數據庫的名字;

顯示表

show tables from sys;
show tables from 數據的名字;

顯示列

show colums from x$waits_global_by_latency;
show columns from +表的名字;

mysql 的查找(重要)

查找表里的所有的數據

select * from x$waits_global_by_latency;
select * from 表的名字

查找部分列的信息

select events,total from x$waits_global_by_latency;
select 列名 1,列名 2 from 表名;

按照條件查找

select * from x$waits_global_by_latency where total=50;
select * from 表名 where 條件;

mysql 表的插入和創建()

數據庫的創建

create database mypet;
create database 數據庫的名字;

表的創建

create table mytest (name varchar(10),colour varchar(2),birth date);
create table 表名(第一列的名字 第一列的類型,第二列名 第二列的類型 ..)

插入數據到表里

順序插入

insert into mytest values("xiaohua","b","2024-06-17");
insert into 表名 values(第一列的值,第二列的值,第三列);

亂序插入

insert into mytest (colour,name,birth)values("r","xiao","2024-07-17");
insert into 表名(列名 3,列名 1,列名 2) values(第三列值,第一列值,第二列值)

mysql 的修改

修改表的名字

alter table mytest rename test;
alter table 舊的表的名字 rename 新的表的名字;

修改列的名字

alter table test change colour new_colour varchar(10);
alter table 表名 change 舊的列名 新的列名 新的列名的格式

新增列

alter table test add sex varchar(5);
alter table 表名 add 要新增的列的名字 要新增的列的格式

刪除列

alter table test drop sex1;
alter table 表名 drop 要刪除的列名字;

mysql 的更新

更新數據

update test set age=1,sex="f" where new_colour="r";
update 表名 set 要設置的列=xxx 條件;

mysql 的刪除

刪除數據

delete from test where name="hua";
delete from 表名 條件;

刪除表

drop table 表名;

刪除數據庫

drop database 數據庫的名字

mysql 的排序

升序(默認)

select * from test order by age ASC;
select *from 表名 order by 列名 ASC;

降序

select * from test order by age DESC;
select * from 表名 order by 列名 DESC;

C 語言操作數據庫

初始化數據庫核心結構體

函數的功能

初始化數據庫的核心結構體

函數的頭文件

mysql/mysql.h

函數的原型

MYSQL *mysql_init(MYSQL *mysql)

函數的參數

MYSQL *mysql:mysql 的核心結構體指針

函數的返回值

成功返回 mysql 的核心結構體指針

失敗返回 NULL

鏈接數據庫

函數的功能

連接 mysql 數據庫

函數的頭文件

mysql/mysql.h

函數的原型

MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd, const char *db, unsigned int port, const char *unix_socket, unsigned long client_flag)

函數的參數

MYSQL *mysql, mysql 的核心結構體

const char *host, localhost//本地

const char *user, 用戶名 root

const char *passwd, 密碼 1

const char *db, 數據庫

unsigned int port, 端口號 0

const char *unix_socket, 套接字 NULL

unsigned long client_flag 標志 0

函數的返回值

成功返回 mysql 的核心結構體

失敗返回 NULL

執行 sql 語句

函數的功能

執行 mysql 的語句

函數的原型

int mysql_query(MYSQL *mysql, const char *query)

函數的參數

MYSQL *mysql, mysql 的核心結構體

const char *query 要執行的 mysql 的語句

函數的返回值

成功返回 0

失敗返回 非零

存儲 sql 執行結果

函數的功能

存儲 mysql 的執行結果

函數的頭文件

mysql/mysql.h

函數的原型

MYSQL_RES *mysql_store_result(MYSQL *mysql)

函數的參數

MYSQL *mysql: mysql的核心結構體

函數的返回值

成功返回 mysql 結果集合結構體

失敗返回 NULL

對 mysql 結果集合的操作函數

獲取結果集合里的列的數目

unsigned int mysql_num_fields(MYSQL_RES* res)

獲取結果集合里行的數目

my_ulonglong mysql_num_rows(MYSQL_RES *result)

獲取列的信息

MYSQL_FIELD *mysql_fetch_field(MYSQL_RES *result)

獲取行的數據

MYSQL_ROW mysql_fetch_row(MYSQL_RES *result)

釋放 mysql 的查詢的結果集合結構體

函數的功能

釋放結果集合結構體

函數的頭文件

mysql/mysql.h

函數的原型

void mysql_free_result(MYSQL_RES *result)

函數的參數

MYSQL_RES *result:結果集合結構體

函數的返回值

關閉數據庫

函數的功能

關閉數據庫

函數的頭文件

mysql/mysql.h

函數的原型

void mysql_close(MYSQL *mysql) 

函數的參數

MYSQL *mysql:mysql 的核心結構體

函數的返回值

實例

#include <stdio.h>
#include <mysql/mysql.h>MYSQL * mysql=NULL;// MySQL 連接句柄MYSQL_RES * mysql_res=NULL;// 查詢結果集MYSQL_FIELD * line_msg=NULL;// 字段元數據
int i,j;
int row_num,line_num;// 行數和列數
MYSQL_ROW row_msg={0};// 用于存儲每一行的查詢結果int main()
{//1初始化數據庫mysql = mysql_init(NULL);//會分配一個新的 MYSQL 結構體if (mysql == NULL){perror("mysql_init");return -1;}//2連接到MYSQL的服務mysql = mysql_real_connect(mysql,"localhost" , "root","521125", "mytest", 0, NULL, 0); // 參數依次為:連接句柄、名主機、用戶名、密碼、數據庫名、端口號、套接字、標志//3執行MYSQL的語句mysql_query(mysql,"select * from test;" ); // 調用 mysql_store_result() 獲取查詢結果集//4存儲MYSQL的運行結果 到結構體里mysql_res = mysql_store_result(mysql);if (mysql_res == NULL){perror("mysql_store_result");return -1;}//5從結構體取信息line_num=mysql_num_fields(mysql_res);// 獲取結果集中的列數row_num=mysql_num_rows(mysql_res); // 獲取結果集中的行數printf("line_num=%d row_num=%d\n",line_num,row_num);printf("+------+--------+------------+------+\n");for(i=0;i<line_num;i++)// 遍歷每一列,打印字段名稱{if((i+1)==line_num)// 如果是最后一列{line_msg=mysql_fetch_field(mysql_res);// 獲取當前字段的元數printf("	|%s",line_msg->name);// 打印字段名稱continue;}line_msg=mysql_fetch_field(mysql_res);printf("|%s	",line_msg->name);}printf("\n");printf("+------+--------+------------+------+\n");for(i=0;i<row_num;i++) // 遍歷每一行,打印行數據{row_msg=mysql_fetch_row(mysql_res);// 獲取當前行的數據for(j=0;j<line_num;j++){if((j+1)==line_num)// 如果是最后一列{printf("|%s  |",row_msg[j]);continue;}printf("|%s	",row_msg[j]);}printf("\n");printf("+------+--------+------------+------+\n");}//6釋放結果集合結構體mysql_free_result(mysql_res);// 調用 mysql_free_result() 釋放結果集占用的內存//7關閉數據庫mysql_close(mysql);// 調用 mysql_close() 關閉 MySQL 連接return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/85075.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/85075.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/85075.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

打卡第48天:隨機函數與廣播機制

知識點回顧&#xff1a; 隨機張量的生成&#xff1a;torch.randn函數卷積和池化的計算公式&#xff08;可以不掌握&#xff0c;會自動計算的&#xff09;pytorch的廣播機制&#xff1a;加法和乘法的廣播機制 ps&#xff1a;numpy運算也有類似的廣播機制&#xff0c;基本一致 …

學習昇騰開發的第四天--基本指令

1、查看npu當前狀態信息 npu-smi info 2、查看NPU的ID npu-smi info -l3、調用python python3 4、修改用戶名 su - HwHiAiUser 5、查看cann版本 cat /usr/local/Ascend/ascend-toolkit/latest/compiler/version.info 6、刪除文件夾 sudo rm -rf HelloWorld7、在本地環…

vue3 - 自定義hook

自定義hook 簡單點來說就是將人物或者訂單的所有數據和方法放在一個ts文件里面 這樣便于維護 假如一個人只需要管 人物的模塊 那他只需要操作usePerson.ts文件就可以了 //useDog.ts import { ref,reactive} from vue; import axios from axios;export default function(){…

【python】bash: !‘: event not found

報錯 # 2. 測試smplx是否工作&#xff08;可能不需要chumpy&#xff09; python -c "import smplx; print(? smplx works!)"bash: !: event not found 分析 這是bash的歷史擴展問題&#xff0c;感嘆號被解釋為歷史命令。用這些方法解決&#xff1a; &#x1f680…

【Python打卡Day47】注意力熱力圖可視化@浙大疏錦行

可視化空間注意力熱力圖的意義&#xff1a; 提升模型可解釋性 熱力圖能直觀展示模型決策的依據區域&#xff0c;破除深度學習"黑箱"困境。例如在圖像識別中&#xff0c;可以看到模型識別"貓"是因為關注了貓耳和胡須區域&#xff0c;識別"禁止通行&qu…

樹狀數組 2

L - 樹狀數組 2 洛谷 - P3368 Description 如題&#xff0c;已知一個數列&#xff0c;你需要進行下面兩種操作&#xff1a; 將某區間每一個數加上 x&#xff1b; 求出某一個數的值。 Input 第一行包含兩個整數 N、M&#xff0c;分別表示該數列數字的個數和操作的總個數。…

YOLOv2 技術詳解:目標檢測的又一次飛躍

&#x1f9e0; YOLOv2 技術詳解&#xff1a;目標檢測的又一次飛躍 一、前言 在 YOLOv1 提出后&#xff0c;雖然實現了“實時性 單階段”的突破&#xff0c;但其在精度和小物體檢測方面仍有明顯不足。為了彌補這些缺陷&#xff0c;Joseph Redmon 等人在 2017 年提出了 YOLOv2…

JAFAR Jack up Any Feature at Any Resolution

GitHub PaPer JAFAR: Jack up Any Feature at Any Resolution 摘要 基礎視覺編碼器已成為各種密集視覺任務的核心組件。然而&#xff0c;它們的低分辨率空間特征輸出需要特征上采樣以產生下游任務所需的高分辨率模式。在這項工作中&#xff0c;我們介紹了 JAFAR——一種輕量級…

SamWaf 開源輕量級網站防火墻源碼(源碼下載)

SamWaf網站防火墻是一款適用于小公司、工作室和個人網站的開源輕量級網站防火墻&#xff0c;完全私有化部署&#xff0c;數據加密且僅保存本地&#xff0c;一鍵啟動&#xff0c;支持Linux&#xff0c;Windows 64位,Arm64。 主要功能&#xff1a; 代碼完全開源 支持私有化部署…

79Qt窗口_QDockWidget的基本使用

目錄 4.1 浮動窗?的創建 4.2 設置停靠的位置 浮動窗? 在 Qt 中&#xff0c;浮動窗?也稱之為鉚接部件。浮動窗?是通過 QDockWidget類 來實現浮動的功能。浮動窗 ??般是位于核?部件的周圍&#xff0c;可以有多個。 4.1 浮動窗?的創建 浮動窗?的創建是通過 QDockWidget…

UE/Unity/Webgl云渲染推流網址,如何與外部網頁嵌套和交互?

需求分析&#xff1a;用threejs開發的數字孿生模型&#xff0c; 但是通過webgl技術網頁中使用&#xff0c;因為模型數據量大&#xff0c;加載比較慢&#xff0c;且需要和其他的業務系統進行網頁嵌套和交互&#xff0c;使用云渲染技術形成的推流網址&#xff0c;如何與外部網頁嵌…

在Termux中搭建完整Python環境(Ubuntu+Miniconda)

蹲坑也能寫python? ?? 環境準備?? 詳細搭建步驟步驟1:安裝Linux容器工具步驟2:查看可用Linux發行版步驟3:安裝Ubuntu系統步驟4:登錄Ubuntu環境步驟5:下載Miniconda安裝包步驟6:安裝Miniconda? 環境驗證?? 使用技巧?? 注意事項前言:想在吃飯、通勤甚至休息間隙…

EventSourcing.NetCore:基于事件溯源模式的 .NET Core 庫

在現代軟件架構中&#xff0c;事件溯源&#xff08;Event Sourcing&#xff09;已經成為一種非常流行的模式&#xff0c;尤其適用于需要高可用性和數據一致性的場景。EventSourcing.NetCore 是一個基于事件溯源模式的 .NET Core 庫&#xff0c;旨在幫助開發者更加高效地實現這一…

Linux下的第一個程序——進度條(命令行版本)

文章目錄 編寫Linux下的第一個小程序——進度條進度條的樣式前置知識回車和換行緩沖區對回車、換行、緩沖區、輸出的測試代碼簡單的測試樣例倒計時程序 進度條程序理論版本基本框架代碼實現 真實版本基礎框架 代碼實現 編寫Linux下的第一個小程序——進度條 在前面的基礎開發工…

【項目】仿muduo庫one thread one loop式并發服務器前置知識準備

&#x1f4da; 博主的專欄 &#x1f427; Linux | &#x1f5a5;? C | &#x1f4ca; 數據結構 | &#x1f4a1;C 算法 | &#x1f152; C 語言 | &#x1f310; 計算機網絡 |&#x1f5c3;? mysql 本文介紹了一種基于muduo庫實現的主從Reactor模型高并發服務器框架…

steam報網絡錯誤,但電腦是網絡連接的

steam報網絡錯誤&#xff0c;但電腦是網絡連接的 如&#xff1a; 解決辦法&#xff1a; 關閉電腦防火墻和所有殺毒軟件&#xff0c;然后重新打開steam開代理&#xff0c;可能國內有時候訪問不了 首選1進行嘗試 steam安裝路徑一定要在純英文路徑下 已ok

Vue 組合式 API 與 選項式 API 全面對比教程

一、前言&#xff1a;Vue 的兩種 API 風格 Vue 提供了兩種編寫組件邏輯的方式&#xff1a;組合式 API (Composition API) 和 選項式 API (Options API)。理解這兩種方式的區別和適用場景&#xff0c;對于 Vue 開發者至關重要。 為什么會有兩種 API&#xff1f; 選項式 API&a…

HarmonyOS 應用模塊化設計 - 面試核心知識點

HarmonyOS 應用模塊化設計 - 面試核心知識點 在 HarmonyOS 開發面試中&#xff0c;模塊化設計是必考知識點。本文從面試官角度深度解析 HarmonyOS 應用模塊化設計&#xff0c;涵蓋 HAP、HAR、HSP 等核心概念&#xff0c;助你輕松應對技術面試&#xff01; &#x1f3af; 面試高…

Maven高級學習筆記

分模塊設計 為什么分模塊設計?將項目按照功能拆分成若干個子模塊&#xff0c;方便項目的管理維護、擴展&#xff0c;也方便模塊間的相互調用&#xff0c;資源共享。 注意事項&#xff1a;分模塊開發需要先針對模塊功能進行設計&#xff0c;再進行編碼。不會先將工程開發完畢&…

[創業之路-423]:經濟學 - 大國競爭格局下的多維博弈與科技核心地位

在當今風云變幻的國際舞臺上&#xff0c;大國競爭已成為時代的主旋律&#xff0c;其激烈程度與復雜性遠超以往。這場全方位的較量&#xff0c;涵蓋了制度、思想、文化、經濟、科技、軍事等諸多關鍵領域&#xff0c;每一個維度都深刻影響著大國的興衰成敗&#xff0c;而科技在其…