MySQL命令

来源:https://www.cnblogs.com/shengjunqiye/archive/2020/04/23/12762437.html
-Advertisement-
Play Games

1.mysql登陸 完整登陸命令: mysql -u root -p xxxxx -h 127.0.0.1 -P 23306 語法:mysql -u 用戶名 -p 密碼 -h mysql伺服器的IP地址 -P 使用的埠號 非完整登陸命令: mysql -u root -p 回車(回車後再輸入密碼) ...


1.mysql登陸

完整登陸命令:

mysql -u root -p xxxxx -h 127.0.0.1 -P 23306

語法:mysql -u 用戶名 -p 密碼 -h mysql伺服器的IP地址 -P 使用的埠號

非完整登陸命令:

mysql -u root -p 回車(回車後再輸入密碼)

mysql -u root -p xxxxx -h 127.0.0.1 回車(回車後再輸入密碼)

 

2.SQL語句:

SQL語言共分為四大類:數據查詢語言DQL,數據操縱語言DML,數據定義語言DDL,數據控制語言DCL。

1. 數據查詢語言DQL
數據查詢語言DQL基本結構是由SELECT子句,FROM子句,WHERE
子句組成的查詢塊:
SELECT <欄位名錶>
FROM <表或視圖名>
WHERE <查詢條件>

2 .數據操縱語言DML
數據操縱語言DML主要有三種形式:
1) 插入:INSERT
2) 更新:UPDATE
3) 刪除:DELETE

3. 數據定義語言DDL
數據定義語言DDL用來創建資料庫中的各種對象-----表、視圖、
索引、同義詞、聚簇等如:
CREATE TABLE/VIEW/INDEX/SYN/CLUSTER
| | | | |
表 視圖 索引 同義詞 簇

DDL操作是隱性提交的!不能rollback 

4. 數據控制語言DCL
數據控制語言DCL用來授予或回收訪問資料庫的某種特權,並控制
資料庫操縱事務發生的時間及效果,對資料庫實行監視等。如:
1) GRANT:授權。


2) ROLLBACK [WORK] TO [SAVEPOINT]:回退到某一點。
回滾---ROLLBACK
回滾命令使資料庫狀態回到上次最後提交的狀態。其格式為:
SQL>ROLLBACK;


3) COMMIT [WORK]:提交。


    在資料庫的插入、刪除和修改操作時,只有當事務在提交到數據
庫時才算完成。在事務提交前,只有操作資料庫的這個人才能有權看
到所做的事情,別人只有在最後提交完成後才可以看到。
提交數據有三種類型:顯式提交、隱式提交及自動提交。下麵分
別說明這三種類型。


(1) 顯式提交
用COMMIT命令直接完成的提交為顯式提交。其格式為:
SQL>COMMIT;


(2) 隱式提交
用SQL命令間接完成的提交為隱式提交。這些命令是:
ALTER,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROP,
EXIT,GRANT,NOAUDIT,QUIT,REVOKE,RENAME。


(3) 自動提交
若把AUTOCOMMIT設置為ON,則在插入、修改、刪除語句執行後,
系統將自動進行提交,這就是自動提交。其格式為:
SQL>SET AUTOCOMMIT ON;

 

 註意:

  ①進入mysql後所有命令必須以分號(;)結尾

  ②如果你要查一些數據時顯示亂,屏幕寬度不夠展不開,你就在命令結尾加\G最後不要加分號,這樣顯示就會清晰了.

     ③如果輸錯命令想退出來不執行,就輸入\c回車即可,如下圖

     ④如果少寫一個引號,直接\c是退不出來的,需要先寫'再寫\c就行瞭如下圖

 

 

 

3.查看本資料庫版本與編碼集

進入資料庫後輸入\s

 

4.資料庫的增刪改查

資料庫的增刪改查說白了其實就是文件夾的增刪改查


create database db1 charset utf8;(這裡在創建庫時指定了編碼集)

create database db11; (不指定編碼集也可) 

此時就在你安裝資料庫的文件夾下的data文件中新增了兩個文件夾(db1和db11)

 

查看所有資料庫時,有資料庫安裝時自帶的資料庫也一併顯示出來了

 

 


show create database db1;(查看剛建的資料庫的配置)
show databases;(查看所有資料庫--庫名)

查看當前所在的資料庫:select database();

 

由於你my.ini文件中配置制定了編碼集,所以不指定編碼集的資料庫db11也是utf8.

 

 

 


alter database db1 charset gbk;(將資料庫db1的編碼集改為gbk了)

 

切換資料庫

use +資料庫名+;



drop database db1;(刪除資料庫db1)

 

5.資料庫中表的增刪改查

表的增刪改查可以看做是對文件的增刪改查

增加表時你需要先進入一個資料庫(use +資料庫名+;),增加表時就在你進入的資料庫中新增表

 


create table t1(id int,name char); 新增表t1,表中有兩個欄位id和name,id是整形,name是字元串


show create table t1;(查看該表具體信息)

 

如果沒進入資料庫你想直接查就在對應的表名前加資料庫名.

show create table db1.t1;


show tables;查看當前資料庫下所有表名

desc t1;查看某表中所有欄位以及欄位的屬性(desc是describe的縮寫)

select id from n; 查詢表n中id欄位的所有內容

select * from n;查詢表n中所有內容



alter table t1 modify name char(6);(將name欄位屬性改為字元串,寬度改為6,預設寬度是1)modify是固定寫法

alter table t1 change name NAME char(7);(修改欄位名name改為NAME,並且寬度改為7)change是固定寫法新的名字NAME後面必須接新欄位的屬性,否則報錯,你可以是新的屬性也可以是原來的屬性.

 

修改表名:

alter table ttt rename xxx;將ttt表名改為xxx

 

增加欄位:

 alter table xxx add n char(10) ; 在xxx表中增加一個n欄位,數據類型為char長度為10

alter table xxx add n char(10) first; 將n欄位添加到第一個欄位位置 

alter table xxx add n char(10) after id; 將n欄位添加到id欄位位置的後面 

 



drop table t1;刪除表t1

刪除欄位:

alter table xxx drop n ;刪除xxx表中n欄位

 

複製表格(可以在同資料庫但是不要重名,也可以在不同資料庫可以重名,)

 

①既複製表結構,又要數據:

create table t1 select host,user from mysql.user; (就是把你查到的某個表的數據select...,直接在創建表格時直接寫在後面就行了,寫在了表名後面)

create table t1 select * from db1.ttt; 

 

②只要表結構,不要數據:

法一:就是在後面加個不成立的條件,讓他查不到對應的數據就行了,查到的內容為空就只剩表結構了

create table t1 select host,user from mysql.user where 1>2; 

 

法二:like

create table t5 like t2;這樣就把t2的表結構複製過來創建了t5

 

 

6.行記錄(表中內容)的增刪改查


insert  into t1(id,name) values(1,'egon1'),(2,'egon2'),(3,'egon3');(新增了3條行記錄,id為1,name為egon1...)into可以省略

insert   into  t1  values(1,'egon1'),(2,'egon2'),(3,'egon3');不寫欄位,預設就按照所有欄位來插入

select id,name from db1.ttt;(查看ti表中id和name兩個欄位)這裡吧資料庫db1也加上了,其實你在db1資料庫下就不用了寫db1,直接寫表名字即可
select * from db1.ttt;查詢t1表下所有欄位

 

 查詢某個欄位中數據的長度

select char_length(name) from t4; 查詢t4表中name欄位的內容的長度.



update db1.t1 set name='wwe';將t1表中所有name欄位全部寫成wwe

update db1.t1 set name='ALEX' where id=2;將id等於2的name欄位改成ALEX



delete from t1;(將所有記錄全部刪,表變成空表)這個不會清空自增長的計數,delete一般都會與where連用,來固定刪除某行記錄.

truncate t1 ;會清空自增長的計數,再插入行記錄時id會從1開始

delete from t1 where id=2;(只刪除id=2的記錄)

 

 

7.存儲引擎

存儲引擎就是表的類型

 

查看支持的所有存儲引擎

show engines;

或show engines\G 查的比較詳細(有\G時不加分號結尾)

 

創建表時指定存儲引擎:

create table t1(id int)engine=innodb;不指定預設就是innodb

 

8.單表查詢:

單表查詢

select distinct 欄位1,欄位2,欄位3 from 庫.表
  where 條件
  group by 分組條件
  having 過濾
  order by 排序欄位
  limit n;

 

distinct是去重

 

 

9.簡單查詢:

select name,salary*12  from employee; 在查詢時可以進行運算,一個月工資,乘12就變成了年薪

select name,salary*12  as nianxin  from employee; 在顯示時就會將salary的欄位名改為nianxin

 

定義顯示格式:(拼接字元串)用concat

select  concat ('姓名:' ,name, ' 性別:',sex) as info ,concat('年薪:',salary*12) as annual_salary from employee;

顯示如下:

 

 

另一種:

select concat(name,':',sex,':'age) from employee;

 

 

 換一種寫法:用concat_ws他會在兩個欄位中間都加入相同的內容

select concat_ws(':',name,sex,age) from employee;

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • [TOC] 1.linux命令行快捷鍵 2.vi/vim快捷鍵 ...
  • [TOC] 1.手動docker鏡像的缺點 2.dockerfile常用指令 3.dockerfile實戰1 3.1.手動製作docker鏡像步驟 3.1.1.啟動容器安裝軟體服務 3.1.2.將安裝好服務的容器commit提交為鏡像 3.1.3.啟動新容器來測試新提交的鏡像 3.2.dockerf ...
  • [TOC] 1.製作docker鏡像的步驟 2.製作支持ssh遠程登陸的docker鏡像 2.1.啟動容器安裝軟體服務 2.2.將安裝好服務的容器commit提交為鏡像 2.3.啟動新容器來測試新提交的鏡像 3.製作支持ssh+httpd雙服務的鏡像 3.1.啟動容器安裝軟體服務 3.2.將安裝好服 ...
  • [TOC] 1.為什麼要使用docker數據捲 2.常見的docker數據捲命令 3.docker數據捲運用一 4.把宿主機的目錄掛載到容器中 ...
  • 安裝 Docker 請參考我的另一篇文章 "Docker 安裝及使用" 建立鏡像 拉取鏡像 檢查拉取是否成功 創建資料庫容器(不建立數據映射) 創建資料庫容器(建立數據映射) 檢查容器是否正確運行 遠程連接MySQL 進入docker本地連接mysql客戶端 遠程連接mysql 遠程連接軟體時要註意 ...
  • abc 過濾器介紹 HBase過濾器是一套為完成一些較高級的需求所提供的API介面。 過濾器也被稱為下推判斷器(push down predicates),支持把數據過濾標準從客戶端下推到伺服器,帶有 Filter 條件的 RPC 查詢請求會把 Filter 分發到各個 RegionServer,所 ...
  • 添加以下配置 // 重啟mysql 查看是否開啟 ; 查看日誌狀態 ; 刷新日誌,刷新之後會新建一個新的Binlog日誌 清空目錄下所有日誌文件 查看日誌文件: bash / !50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1 /; / !50003 SET @OLD_ ...
  • 1. Java 下載Java 1.8 64位版本https://java.com/en/download/. 如果不是64位java,在啟動資源節點管理器時會出現錯誤 Java 安裝自選目錄, 必須是中間不帶空格的目錄結構:比如 C:\java64 安裝完成後,使用“java -version”命令 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...