mysql知識點+面試總結

目錄

1 mysql介紹

2 數據庫常見語法

3 數據庫表的常見語法

4 其他常見語法(日期,查詢表字段)

5 JDBC開發步驟

6 索引

6.1 索引常見語法

7 常見面試總結

8 java代碼搭建監控頁面


1 mysql介紹

????????數據庫:存儲在硬盤上的文件系統,通過標準的sql語句去操作????????

????????作用:存儲各種各樣的數據

2 數據庫常見語法

2.1、創建數據庫:

1、create database 數據庫名 ??2、create?database 數據庫名稱 character set 字符集

2.2、查看數據庫:

????????查看所有的數據庫:show databases;

????????查看單個數據庫:show create database 數據庫名;

2.3、刪除數據庫

????????Drop database 數據庫名稱;

2.4、修改數據庫

????????Alter database 數據庫名 character set 字符集;

2.5、數據庫的其他操作

????????查看當前使用的數據庫:select database();

????????切換數據庫:use 數據庫名;

2.6 修改庫的排序規則

????????ALTER DATABASE db1 CHARACTER SET utf8 COLLATE utf8_unicode_ci

3 數據庫表的常見語法

1 單表約束有哪些?

1、主鍵(唯一和非空)2、唯一 ?unique3、非空 ?not null

2 表操作語法

????????查看所有的表:show tables;

????????查看單個表:desc 表名;

????????刪除數據庫表:Drop table 表名;

????????修改表名稱(慎用):Rename table 舊表名 to 新表名

????????添加列:alter 表名 add 列名 類型(長度) 約束

????????修改列的類型和約束alter table 表名 modify 列名 類型(長度) 約束

????????修改列的名稱:alter table 表名 change 舊列名 新列名 類型(長度) ?約束

????????刪除列:alter table 表名 drop 列名;? ??

????????添加表字段:

????????????????alter table user add certificates_type varchar(1) not null;

????????????????alter table user add certificates_type varchar(1);

????????修改字段類型和注釋

????????ALTER TABLE tb_user MODIFY COLUMN sex VARCHAR (20) COMMENT '年齡';

????????修改字段類型

????????????????alter table tb_user modify column age varchar(10);

????????修改表的字符集和所有列的字符集:

ALTER TABLE order CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;

4 其他常見語法(日期,查詢表字段

獲取當前日期:select curdate();?

獲取當月最后一天:select last_day(curdate()); //2019-08-31

獲取下個月的第一天:select date_add(curdate()-day(curdate())+1,interval 1 month);?

獲取下個月的最后一天:select date_sub(date_sub(date_format(now(),'%y-%m-%d'),interval extract(day from now()) day),interval -2 month)?

獲取當前年的最后一天:select concat(YEAR(now()), '-12-31') //2019-12-31

獲取當前年的第一天:select DATE_SUB(CURDATE(),INTERVAL dayofyear(now()) - 1 DAY) //2019-01-01

獲取前一天:SELECT date_sub(NOW(), INTERVAL 1 DAY);

日期格式化:select DATE_FORMAT(CURDATE(), '%Y-%m-%d')

其他查詢:

  1. set @dt = now();
  2. select date_add(@dt, interval 1 day); ? - 加1天
  3. select date_add(@dt, interval 1 hour); ? -加1小時
  4. select date_add(@dt, interval 1 minute); ? ?- 加1分鐘
  5. select date_add(@dt, interval 1 second); -加1秒
  6. select date_add(@dt, interval 1 microsecond);-加1毫秒
  7. select date_add(@dt, interval 1 week);-加1周
  8. select date_add(@dt, interval 1 month);-加1月
  9. select date_add(@dt, interval 1 quarter);-加1季
  10. select date_add(@dt, interval 1 year);-加1年

查詢表字段(包含字段名、字段類型、字段長度、是否為空以及屬性等)

SELECT
?? ?COLUMN_NAME AS columnName,
?? ?data_type AS columnType,
?? ?CHARACTER_MAXIMUM_LENGTH AS columnLength,
?? ?IS_NULLABLE AS isNull,
?? ?COLUMN_COMMENT AS columnComent
FROM
?? ?INFORMATION_SCHEMA. COLUMNS
WHERE
?? ?table_name = 'sys_user'

查看當前年的所有月份sql(直接復制運行即可)

SELECT
?? ?DATE_FORMAT( DATE_ADD( CONCAT( YEAR ( DATE( '2018-04-01' )), '-01-01' ), INTERVAL ( CAST( help_topic_id AS SIGNED INTEGER )) MONTH ), '%Y-%m' ) MONTH?
FROM
?? ?mysql.help_topic?
WHERE
?? ?help_topic_id < 12?
ORDER BY
MONTH ASC

5 JDBC開發步驟

1、注冊驅動 class.forNanme(“com.mysql.jdbc.Driver”)

注冊驅動的方法 ?static void registerDriver(Driver driver)

2、獲取連接對象

方法:

Static Connection getConnection(Stirng url, String user, Stirng password)

Connection:返回連接的對象

url:數據庫的地址

user:用戶名

password:密碼

Connectionconn = DriverManager.getConnection(url,name,password);

3、創建語句執行平臺:

Statement stat = conn.createStatement();

executeUpdate(sql);

4、執行sql語句

select * from 表名 條件;

5、處理結果集

6、釋放資源

6 索引

6.1 索引常見語法

創建索引

//普通索引 alter table table_name add index index_name (column_list) ; //唯一索引 alter table table_name add unique (column_list) ; //主鍵索引 alter table table_name add primary key (column_list) ;

刪除索引

drop index index_name on table_name ; // table_name :表名 index_name :索引名 alter table table_name drop index index_name ; alter table table_name drop primary key ;

查看索引

(1)show index from tblname;

(2)show keys from tblname;

4.5 查詢mysql定時器是否開啟

show VARIABLES LIKE '%event_scheduler%';

0

如果為OFF則為關閉,為NO為開啟

mysql不能使用group by

set sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

7 常見面試總結

mysql常見的索引有哪些?

  • 主鍵索引

  • 唯一索引

  • 普通索引

  • 全文索引

  • 組合索引

導致索引的失效的原因有哪些?

  1. 查詢條件不規則:如like,%a%,like %在左邊
  2. 使用函數:如:length, where length(xx) = 1;
  3. 計算操作:如 where id+1=100;
  4. 查詢字段的數據類型不匹配,如一個是utf8 另一個是utf8mb4

==========================================設計模式===============================

單例設計模式:保證對象的唯一性

懶漢式:延遲加載 ?當我需要這個對象的時候才去加載

面試之前 ?敲兩遍餓汗式 ?懶漢式

8 java代碼搭建監控頁面

druid數據庫連接池監控頁面

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

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

相關文章

VR虛擬展廳如何將客戶引流到線下?

VR虛擬展廳是一項很不錯的創新技術&#xff0c;將傳統的展覽內容以數字化形式呈現&#xff0c;為參觀者帶來全新的展示體驗&#xff0c;也為企業帶來了全新的宣傳機遇。 線上虛擬展廳目前有著兩種形式&#xff0c;一種是通過三維建模技術、虛擬現實技術等搭建的虛擬展廳&#x…

leetcode 474. 一和零

2023.8.15 class Solution { public:int findMaxForm(vector<string>& strs, int m, int n) {vector<vector<int>> dp(m1, vector<int>(n1,0));//遍歷物品for(string str : strs){int num_0 0;int num_1 0;for(char c : str){if(c 0) num_0;el…

Docker 容器內無法使用vim命令 解決方法

目錄 1. 問題所示2. 原理分析3. 解決方法1. 問題所示 進入Docker容器后 無法使用vim編輯器,出現如下問題:bash: vim: command not found 如圖所示: 想著通過apt-get 安裝vim,出現如下問題: root@b9f0fd330d5b:/# apt-get install vim Reading package lists... Done B…

ZooKeeper介紹

ZooKeeper是一個開放源代碼的分布式協調服務。ZooKeeper的設計目標是將那些復雜且容易出錯的分布式一致性服務封裝起來&#xff0c;構成一個高效可靠的原語集&#xff0c;并以一系列簡單易用的接口提供給用戶使用。 ZooKeeper是一個典型的分布式數據一致性的解決方案&#xff0…

如何通過 Keras 中的活動正則化減少泛化誤差

活動正則化提供了一種鼓勵神經網絡學習原始觀察的稀疏特征或內部表示的方法。 在自動編碼器(稱為稀疏自動編碼器)和編碼器-解碼器模型中尋求稀疏學習表示是很常見的,盡管該方法通常也可用于減少過度擬合并提高模型泛化到新觀察值的能力。 在本教程中,您將發現 Keras API …

spring入門基本介紹及注入方式---詳細介紹

一&#xff0c;spring的簡介 Spring是一個開源框架&#xff0c;它由Rod Johnson創建。它是為了解決企業應用開發的復雜性而創建的。 提供了許多功能強大且易于使用的特性&#xff0c;使得開發者能夠更加輕松地構建可維護且可擴展的應用程序&#xff0c;簡單來說: Spring使用基…

kaggle注冊不顯示驗證碼

edge瀏覽器 1.點擊瀏覽器右上角三個點 2.點擊擴展 3.點擊管理擴展 4.點擊獲取Microsoft Edge擴展&#xff0c;在左上角輸入Head Editor 5.輸入https://www.azurezeng.com/static/HE-GoogleRedirect.json 6.下載后&#xff0c;點保存 成功&#xff01;

星際爭霸之小霸王之小蜜蜂(二)--類的使用

目錄 前言 一、將設置內容寫在一個類里 二、設置小蜜蜂的造型 三、設置貓蜜蜂的參數 四、繪制貓蜜蜂到窗口 總結 前言 昨天我們設置好了窗口&#xff0c;下面我們需要向窗口中添加元素了。 一、將設置內容寫在一個類里 我個人理解書上的意思是要創建一個類&#xff0c;將所有需…

基于CentOS 7 部署社區版Haproxy

HAProxy是法國開發者 威利塔羅(Willy Tarreau) 在2000年使用C語言開發的一個開源軟件&#xff0c;是一款具 備高并發(一萬以上)、高性能的TCP和HTTP負載均衡器&#xff0c;支持基于cookie的持久性&#xff0c;自動故障切換&#xff0c;支 持正則表達式及web狀態統計。 目錄 1…

Linux:shell腳本 正則表達式與AWK

一、正則表達式 由一類特殊字符及文本字符所編寫的模式&#xff0c;其中有些字符&#xff08;元字符&#xff09;不表示字符字面意義&#xff0c;而表示控制或通配的功能&#xff0c;類似于增強版的通配符功能&#xff0c;但與通配符不同&#xff0c;通配符功能是用來處理文件…

【LeetCode每日一題】——128.最長連續序列

文章目錄 一【題目類別】二【題目難度】三【題目編號】四【題目描述】五【題目示例】六【題目提示】七【解題思路】八【時間頻度】九【代碼實現】十【提交結果】 一【題目類別】 哈希表 二【題目難度】 中等 三【題目編號】 128.最長連續序列 四【題目描述】 給定一個未…

python re 模塊 正則表達式

一、正則表達式基本符號 ^ 表示匹配字符串的開始位置 (例外 用在中括號中[ ] 時,可以理解為取反,表示不匹配括號中字符串)$ 表示匹配字符串的結束位置* 表示匹配 零次到多次&#xff08;記憶方法&#xff1a;符號是星星&#xff0c;天上的星星可以是無數個也可以看不到&#x…

vue3+element-plus表格默認排序default-sort失效問題

場景 在使用動態數據渲染的場景&#xff0c;el-table設置默認屬性default-sort失效。 原因 el-table的default-sort屬性是針對靜態數據的&#xff0c;如果是動態數據&#xff0c;default-sort則無法監聽到。 案例&#xff1a;靜態數據 <template><el-table:data&…

馬斯克又出昏招、最瘋狂的舉動之一

馬斯克正在限制他不喜歡的新聞網站和競爭對手的流量。在 X&#xff08;原 Twitter&#xff09;上點擊紐約時報、路透社、Facebook、Instagram、Threads、Bluesky 和 Substack 的鏈接&#xff0c;X 故意增加 5 秒鐘的開啟延遲。 5 秒延遲&#xff0c;新的降權舉措&#xff1f; …

rust踩雷筆記(2)——一道hard帶來的思考[哈希表、字符串、滑動窗口]

今天被一道hard惡心壞了&#xff0c;算法不難&#xff0c;用C幾分鐘的事。用rust主要還是缺乏對語言的熟練度&#xff0c;記錄一下&#xff0c;主要的坑在下面這個操作&#xff1a; 對String取其中某個位置的char。 可能你會有疑問&#xff1a;這不是直接nth()取就行了么。沒錯…

聯想拯救者筆記本Win11系統鍵盤無法打字解決參考方法

一位好機友新購買的聯想拯救者筆記本在使用過程中突然發現整個鍵盤都不能使用了、不能打字、按任何按鍵都沒有反應&#xff0c;只有鼠標能正常操作&#xff1b;那么這是什么問題呢&#xff1f;能不能是筆記本的鍵盤壞了呢&#xff1f;還是筆記本出現了什么故障而引起鍵盤失靈呢…

LangChain手記 Evalutation評估

整理并翻譯自DeepLearning.AILangChain的官方課程&#xff1a;Evaluation&#xff08;源代碼可見&#xff09; 基于LLM的應用如何做評估是一個難點&#xff0c;本節介紹了一些思路和工具。 “從傳統開發轉換到基于prompt的開發&#xff0c;開發使用LLM的應用&#xff0c;整個工…

Linux 終端會話中,啟動任務并放到后臺運行

一、需求 linux要執行一個腳本&#xff0c;耗時很長&#xff0c;想要腳本在后臺運行&#xff0c;用戶注銷或終端軟件關閉時也可以繼續運行。 二、實現 1、nohup命令 腳本在后臺運行 nohup 是在 Linux 和類 Unix 系統中使用的一個命令&#xff0c;用于在后臺運行程序&#x…

Python爬蟲——scrapy_當當網圖書管道封裝

創建爬蟲項目 srcapy startproject scrapy_dangdang進入到spider文件里創建爬蟲文件&#xff08;這里爬取的是青春文學&#xff0c;仙俠玄幻分類&#xff09; srcapy genspider dang http://category.dangdang.com/cp01.01.07.00.00.00.html獲取圖片、名字和價格 # 所有的se…

c語言——查找特定字符在字符串中出現的次數

fgets 函數用于從標準輸入&#xff08;stdin&#xff09;中讀取一行字符串&#xff0c; 并將其存儲在指定的字符數組 str 中。 sizeof str/sizeof str[0] 是用來計算字符數組 str 的大小。 這個表達式計算的結果是字符數組 str 可以容納的元素個數&#xff08;包括…