MySQL常用語法

来源:http://www.cnblogs.com/kaiho/archive/2017/11/28/7911074.html
-Advertisement-
Play Games

參考鏈接:http://www.yiibai.com/mysql/ 一、 SQLECT 語法 SELECT column_1, column_2, ... FROM table_1 [INNER | LEFT |RIGHT] JOIN table_2 ON conditions WHERE cond ...


參考鏈接:http://www.yiibai.com/mysql/   一、 SQLECT 語法
SELECT  column_1, column_2, ... 
FROM table_1
[INNER | LEFT |RIGHT] JOIN table_2 ON conditions
WHERE
  conditions
GROUP BY column_1
HAVING group_conditions
ORDER BY column_1
LIMIT offset, length;
SELECT語句由以下列表中所述的幾個子句組成:
  • SELECT之後是逗號分隔列或星號(*)的列表,表示要返回所有列。
  • FROM指定要查詢數據的表或視圖。
  • JOIN根據某些連接條件從其他表中獲取數據。
  • WHERE過濾結果集中的行。
  • GROUP BY將一組行組合成小分組,並對每個小分組應用聚合函數。
  • HAVING過濾器基於GROUP BY子句定義的小分組。
  • ORDER BY指定用於排序的列的列表。
  • LIMIT限制返回行的數量。
語句中的SELECT和FROM語句是必須的,其他部分是可選的。   慄子:
SELECT 
  lastname,firstname,jobtitle
FROM 
  
employees;
SELECT * FROM employees;
  二、WHERE 語句 WHERE子句允許根據指定的過濾表達式或條件來指定要選擇的行。 慄子: 獲取雇員中的銷售代表;
SELECT 
  lastname,firstname,jobtitle
FROM
  employees
WHERE
  jobtitle = 'Sales Rep';
MySQL 會優先使用 where 進行匹配,在到 select 匹配。   獲取雇員中的銷售代表,且辦公室代碼=1;
SELECT 
  lastname,firstname,jobtitle
FROM
  employees
WHERE
  jobtitle='Sales Rep' AND officeCode = 1;
  操作符: = 等於,幾乎任何數據類型都可用 <> 或 != 不等於 < 小於,通常使用數字和日誌/時間數據類型 > 大於,通常使用數字和日誌/時間數據類型 <= 大於或等於 >= 大於或等於   還有一些有用的運算符可以在WHERE子句中使用來形成複雜的條件,例如:
  • BETWEEN選擇在給定範圍值內的值。
  • LIKE匹配基於模式匹配的值。
  • IN指定值是否匹配列表中的任何值。
  • IS NULL檢查該值是否為NULL。
  三、 INSERT 語句 MySQL INSERT 語句將一行或者多行數據插入列表。 慄子:
INSERT INTO 
  tasks(subject,start_date,end_date,description)
VALUES
  ('Learn MySQL INSERT','2017-11-27','2017-11-27','start learning..');
  將tasks表的所有數據複製插入到tasks_bak表
 INSERT INTO tasks_bak SELECT * FROM tasks;
  四、 UPDATE 語句 UPDATE語句來更新表中的現有數據。也可以使用UPDATE語句來更改表中單個行,一組行或所有行的列值。 慄子: 更新 Mary 的郵箱。
UPDATE 
  employees
SET
  email='[email protected]'
WHERE
  employeeNumber = 1056;
  更新多行數據:
UPDATE 
  employees
SET
  email='[email protected]',lastname='Hill'
WHERE
  employeeNumber = 1056;
  從另一表選擇數據插入當前表
UPDATE customers 
SET
  salesRepEmployeeNumber = (SELECT
      employeeNumber
    FROM
      employees
    WHERE
      jobtitle='Sales Rep'
    ORDER BY RAND() LIMIT 1)
WHERE
  salesRepEmployeeNumber IS NULL;
註釋: 從employees表隨機抽取jobtitle=Sales Rep的一個employeeNumber數據,插入到customers的salesRepEmployeeNumber為空的列中。   五、 DELETE語句  
DELETE FROM tasks WHERE task_id=3;
刪除後:   六、 創建與刪除資料庫
CREATE DATABASE IF NOT EXISTS mytest;
  刪除資料庫 mytest
DROP DATABASE IF EXISTS mytest;
    七、 CREATE TABLE 語句
CREATE TABLE [IF NOT EXISTS] table_name( column_list ) engine=table_type;
其中engine是指定搜索引擎,不添加則使用預設InnoDB,有MyISAMHEAPEXAMPLECSVARCHIVEMERGEFEDERATEDNDBCLUSTER 可選。   column_list詳細語義:
column_name data_type[size] [NOT NULL|NULL] [DEFAULT value] [AUTO_INCREMENT]
PRIMARY KEY (col1,col2,...)
  • column_name指定列的名稱。每列具有特定數據類型和大小,例如:VARCHAR(255)。
  • NOT NULLNULL表示該列是否接受NULL值。
  • DEFAULT值用於指定列的預設值。
  • AUTO_INCREMENT指示每當將新行插入到表中時,列的值會自動增加。每個表都有一個且只有一個 AUTO_INCREMENT列。
  • PRIMARY KEY 設置主鍵。
慄子 語法:
CREATE TABLE IF NOT EXISTS tasks ( 
    task_id INT(11) NOT NULL AUTO_INCREMENT,
    subject VARCHAR(45) DEFAULT NULL,
    start_date DATE DEFAULT NULL,
    end_date DATE DEFAULT NULL,
    description VARCHAR(200) DEFAULT NULL,
    PRIMARY KEY (task_id)
) ENGINE=InnoDB;
  八、 ALTER TABLE 語句 語法:
ALTER TABLE table_name action1[,action2,…]
  • 首先,在ALTER TABLE子句之後指定要更改的表名稱。
  • 其次,列出一組要應用於該表的操作。操作可以是添加新列,添加主鍵,重命名錶等任何操作。 ALTER TABLE語句允許在單個ALTER TABLE語句中應用多個操作,每個操作由逗號(,)分隔。
慄子:
ALTER TABLE 
  mytest
ADD COLUMN
  task_id INT(11) NOT NULL;
其他語法:
ALTER TABLE mytest CHANGE COLUMN task_id task_id INT(10) NOT NULL AUTO_INCREMENT;
ALTER TABLE mytest ADD COLUMN task_id INT(11) NOT NULL;
ALTER TABLE tasks RENAME TO work_items; 

 

 


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

-Advertisement-
Play Games
更多相關文章
  • 開發中顏色的使用也是非常頻繁的,這裡推薦一個dsxNiubility大牛寫的顏色庫:Wonderful;它的好用就是很清楚的把每個常用的顏色進行了由淺到深的分層,讓我們使用時可以根據自己對顏色的深淺直接取顏色值;其中的功能我比較常用的就是顏色、跑馬燈和顏色漸變,裡面還有其他的功能,感興趣的可以去看下 ...
  • UIButton的預設佈局是:title在右,image在左; 很多時候我們需要的是title在左邊,或者title在下麵,這時就需要調整UIButton的TitleLabel和ImageView的位置了,查了很多資料,要麼零零散散的介紹,要麼就是特別複雜的實現;經過一段時間的學習,在這裡總結一下實 ...
  • 一個Hybrid APP,如何做離線緩存策略?也可以簡單來說,你的APP只是一個殼,裡面真正載入的內容是H5,如果優化載入內容的速度? ...
  • APP搜索頁基本上是少不了的,熱門搜索、搜索記錄等;這裡推薦一個大牛ko1o寫的:PYSearch,他還有一個不錯的圖片瀏覽開源:PYPhotoBrowser;這個也不錯,感興趣的可以瞭解下;下麵說下PYSearch的主要功能及(原Gitdemo)效果; 熱門搜索風格 PYHotSearchStyl ...
  • 新建一個OC語言的項目,然後添加一個基於NSObject的Swift文件SwiftFileModel類 .swift 這時會提示你是否添加橋接文件,點擊創建後體統會自動創建一個橋接文件,但是如果點擊取消後,就需要自己建橋接文件; 手動創建橋接文件 新建h文件,名字隨便起,但最好專業些,我這裡不專業 ...
  • 一、Mysql邏輯架構 引用自《高性能Mysql》 二、併發控制讀寫鎖:讀鎖是共用的,寫鎖是排他的,會阻塞其他的寫鎖和讀鎖。鎖粒度:表鎖、行級鎖三、事務事務(ACID特性):原子性、一致性、隔離性、持久性隔離級別 Read uncommitted未提交讀 事務中的修改,即使沒有提交,其他事務也是可見... ...
  • 一、配置MySQL資料庫 1、解壓綠色版mysql,並改名為mysql5.7,如下圖 對比一下下圖5.6以前的版本,少data目錄(存放數據)和my-default.ini文件(配置信息) 二、安裝服務 1、運行cmd(管理員版本,否則沒有許可權),如下圖 2、對於新版mysql5.7沒有了data目 ...
  • 各位小伙伴,上次講了《深入淺出Redis》和《Redis安裝和實際應用》本篇文章將為大家解密redis的持久化和主從複製機制。 Redis持久化 Redis 提供了多種不同級別的持久化方式: RDB 持久化可以在指定的時間間隔內生成數據集的時間點快照(point-in-time snapshot)。 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...