sql語句增刪改查與子查詢

来源:http://www.cnblogs.com/invincibleDeng/archive/2017/09/28/7605111.html
-Advertisement-
Play Games

修改表 修改表 語法: Alter table <舊表名> rename [ TO] <新表名>; 例子:Alter table `demo01` rename `demo02`; 添加欄位 語法: Alter Table 表名 ADD 欄位名 數據類型 [屬性]; 例子:Alter Table ` ...


修改表

修改表

語法:

Alter table <舊表名> rename [ TO] <新表名>;

例子:Alter table `demo01` rename `demo02`;

添加欄位

語法:

Alter Table 表名 ADD 欄位名  數據類型  [屬性];

 

例子:Alter Table `Demo02` ADD `passWord`  varchar(50) not null;

 

修改欄位

語法:

Alter table 表名 change  原欄位名  新欄位名  數據類型 [屬性];

 

%修改欄位名%

Alter Table  `Demo02`  change  `name`  `username`  char(10)  NOT  NULL;

 

 

 刪除欄位

刪除欄位是將數據表中的某個欄位從表中移除:

語法:  ALTER TABLE  表名  DROP 欄位名;

 

 

添加主外鍵

1.添加主鍵約束

語法:  ALTER TABLE 表名 ADD CONSTRAINT 主鍵名 PRIMARY KEY 表名(主鍵欄位);

2.添加外鍵約束

語法: ALTER TABLE 表名 ADD CONSTRAINT 外鍵名 FOREIGN KEY (外鍵欄位) REFERENCES 關   聯表名(關聯欄位);

 

DML語句回顧

 插入數據記錄

1.插入單行數據

語法: INSERT INTO 表名 [(欄位名列表)]  VALUES (值列表);

2.插入多行數據

語法:INSERT INTO 新表 (欄位名列表) VALUES (值列表1), (值列表2), ......, (值列表n);

 

註意:在是INSERT語句插入記錄時,如果不包含欄位名稱,VALUES後值列表中各欄位的順序必須和表定義中各欄位的順序相同,如果表結構變了 (如執行了添加數據操作) 則值列表也要變化,否則會出現錯誤.如果指定了插入的欄位名,就會避免這個問題,因此,建議在插入數據時指定具體欄位名.

 

3.將查詢結構插入到新表

語法1:    

INSERT INTO 新表(欄位1,欄位2,......)

SELECT 欄位1,欄位2,......

FROM 原表;

語法2:

CREATE TABLE 新表 (SELECT 欄位1,欄位2, ........FROM 原表);

 

 更新數據記錄

語法:  UPDATE 表名 SET 欄位1=值1,欄位2=值2,........欄位n=值n [WHERE 條件];

 

 

 

 刪除數據記錄

語法: DELETE  FROM 表名  [WHERE條件];

語法: TRUNCATE TABLE 表名;

 

數據查詢

DQL語句回顧

SQL Server中數據查詢語句:

語法:        SELECT<欄位名列表>

FROM<表名或視圖>

[WHERE <查詢條件>]

[GROUP  BY  <分組的欄位名>]

[HAVING <條件>]

[ORDER BY  <排序的欄位名> [ASC 或  DESC]];

 

LIMIT子句

語法:        SELECT<欄位名列表>

FROM<表名或視圖>

[WHERE <查詢條件>]

[GROUP  BY  <分組的欄位名>]

[ORDER BY  <排序的欄位名> [ASC 或  DESC]]

[LIMIT  [位置偏移量, ]行數];

其中:1.位置偏移量指從結果集中第幾條數據開始顯示(第一條記錄的位置偏移量是0,第2條   是1,....),當省略時從第一條記錄開始顯示.

2.行數值顯示記錄的條數

常用函數

常用聚合函數:

AVG()                         

返回某欄位的平均值

COUNT()

 返回某欄位的行數

MAX()

返回某欄位的最大值

 MIN( )

返回某欄位的最小值

SUM( )

返回某欄位的和

函數名

作用

 

常用的字元串函數

函數名

作用

舉例

CONCAT(str1,str2,...,strn)

連接字元串str1,str2,...,strn為一個完整字元串

SELECT CONCAT(‘My’,’S’,’QL’);

返回:MySQL

INSERT(str,pos,len,newstr)

將字元串str從pos位置開始,len個字元長的子串替換為字元串newstr

SELECT INSERT(‘這是SQL SERVER資料庫’,3,10,’MySQL’);

返回:這是MySQL資料庫

LOWER(str)

將字元串str中所有字元變為小寫

 

UPPER(str)

將字元串str中所有字元串變為大寫

SELECT UPPER(‘MySQL’);

返回: MYSQL

SUBSTRING(str,num,len)

返回字元串str的第num個位置開始長度為len的子字元串

 

 

3.時間日期函數

函數名

作用

舉例

CURDATE()

獲取當前日期

SELECT CURDATE();

CURTIME()

獲取當前時間

 

NOW()

獲取當前日期和時間

 

WEEK(date)

返回日期date為一年的第幾周

 

YEAR(date)

返回日期date的年份

 

HOUR(time)

返回時間Time的小時值

 

MINUTE(time)

返回時間Time的分鐘值

 

DATEDIFF(date1,date2)

返回日期參數date1和date2之間相隔的天數

 

ADDDATE(date,n)

計算日期參數date加上n天後的日期

 

 

 

4.數字函數

函數名

作用

舉例

CEIL(x)

返回大於或等於數值x的最小整數

SELECT CEIL(2.3)

返回:3

FLOOR(x)

返回小於或等於數值x的最大整數

 

RAND()

返回0~1間的隨機數

 

 

 子查詢

 簡單子查詢

語法:SELECT ...FROM 表1 WHERE 欄位1 比較運算符(子查詢);

 

使用AS關鍵字,符合ANSI標準

 SELECT 欄位列表 FROM 表名 AS 表的別名;

使用空格,簡便的方法

 SELECT 欄位列表 FROM 表名 表的別名;

 

 IN和NOT IN 子查詢

 IN子查詢

使用子查詢 當返回結果有多條記錄時,則把條件的 =改為 in

IN子查詢後面可跟隨返回多條記錄的子查詢,用於檢測某欄位的值是否存在於某個範圍中.

 

 NOT IN子查詢

不在IN子查詢範圍內的其他數據.


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

-Advertisement-
Play Games
更多相關文章
  • 上述代碼中: cout << strText<<endl; 出現問題了,理論上也應該輸出:1、2、3、4、5、6 但是輸出的是一個類似 004D9540 的數值,這個數字是隨時變得,但是6次輸出都是一模一樣 問了下公司的C++,有位說是記憶體地址,但是網上找了一些方法都不能進行解析。 如果哪位大佬知道 ...
  • 很久沒有新搭建過框架了,今天搭建一遍。以往都是在eclipse中搭建,今天換Idea吧,目前來說Idea用的還是很多的,但是用習慣了eclipse的朋友,可能會不太習慣 ok.....開始: 註意區分諾~。看不清楚容易出錯↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ ...
  • SSM(Spring+SpringMVC+MyBatis)框架為當今最為流行的WEB開發框架之一,基本上涉及資料庫的一些增刪改查操作都可以借用此框架,本尊此前接的一個小公司關於樓宇空調監控指標的項目就是基於此框架,只不過當時框架已經被別人搭建好,只等我去添磚加瓦,並沒有從頭開始對此框架進行著手搭建. ...
  • 大哥哥大姐姐們啊, 你們都是帥氣(漂亮)的人, 誰有那多餘的時間, 看看我的博客園 看我就發大財 看我就撞大運 ...
  • springMVC中對HTTP請求form data和request payload兩種數據發送塊的後臺接收方式 ...
  • 簡單工廠模式:由一個工廠對象決定創建出哪一種類的實例。 1.抽象類 2.具體類 3.具體類 4.工廠 5.測試代碼 工廠方法模式:定義一個用於創建對象的介面,讓子類去決定實例化哪一個類。工廠方法使一個類的實例化延遲到其子類。 1.抽象工廠 2.抽象產品和具體實現類。 3.具體工廠,用來具體實現哪個產 ...
  • 專業定製仿百度文庫網站系統,仿豆丁網網站,仿道客巴巴網站,文庫網站系統源碼,文庫網站建設開發,支持電腦版+手機版+微信版+小程式版+APP版,由10年的技術團隊專業定製,需要的朋友可以聯繫我們。 網站採用:PHP+MySQL+thinkPHP框架(可定製) <ignore_js_op> <ignor ...
  • 所謂素數是指除了1和它本身以外,不能被任何整數整除的數,例如17就是素數,因為它不能被2~16的任一整數整除。因此判斷一個整數m是否是素數,只需把m被2~m-1之間的每一個整數去除,如果都不能被整除,那麼m就是一個素數另外判斷方法還可以簡化。m不必唄2~m-1之間的每一個整數去除,只需被2~√m之間 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...