SQL基礎篇-----修改表內的數據

来源:http://www.cnblogs.com/simonLiang/archive/2016/08/24/5797730.html
-Advertisement-
Play Games

知識點1 ALTER 下列代碼意義:向已存在的表my_foods中新增自動排列的列 作為主鍵 如果不需要作為主鍵,則去掉 PRIMARY KEY 即可! 排序關鍵字: FIRST - --把 列id 安置於所有其他列的前面 LAST -- 把列 id 安置於其他列的後面 SECOND -- 把列 i ...


知識點1----ALTER

下列代碼意義:向已存在的表my_foods中新增自動排列的列 作為主鍵

ALTER TABLE my_contacts  --表名稱

ADD COLUMN id INT NOT NULL AUTO_INCREMENT FIRST,   --新的 列 id,自動排列,該列於第一位 
ADD PRIMARY KEY (id);  --要求新命名的id列作為主鍵

如果不需要作為主鍵,則去掉 PRIMARY KEY 即可!

排序關鍵字:

FIRST - --把 列id 安置於所有其他列的前面

LAST -- 把列 id 安置於其他列的後面

SECOND -- 把列 id 安置為 第二個列

AFTER(column1) -- 將列 id 放在 column1 後面

BEFORE(column2) -- 將列 id 放在 column2 前面

 

功能關鍵字:

ADD --- 在當前表中增加一列——可自選類型(見始端)

CHANGE--- 可以同時改變現有的列名稱和數據類型

ALTER TABLE my_contacts
CHANGE COLUMN breakfast morning_foods  VARCHAR(20);   -- 舊名稱breakfast改為 morning_foods ,新的類型為 VARCHAR(20)

 

 

MODIFY ---修改現有列的數據類型或者位置

ALTER TABLE my_contacts
MODIFY COLUMN morning_foods  AFTER id;

DROP -- 從表中刪除某列

ALTER TABLE my_foods
DROP COLUMN morning_foods; 

 

RENAME TO ----給表重新命名

ALTER TABLE my_contacts
RENAME TO contacts;

 

 

知識點2

DELETE----刪除單一行或者所有行的值

DELETE FROM my_foods --my_foods是要刪除的行所在的表
WHERE breakfast = 'bread';

 

DELETE 與 SELECT 區別:DELETE不需要指定刪除的對象,因為他很殘忍,會把整行的所有列都刪除。

所以,DELETE不能單一刪除某一列中值或者某一列的所有值;但是可以刪除一行或者多行(根據WHERE語句來定)。WHERE子句中的搭配關鍵字,類似SELECT的使用方法,如LIKE、IN、BETWEEN,都可以在此處使用,而且所有條件都能更準確地要求RDBMS刪除特定行。

 

要是想修改某一行的某一列值,可以使用DELETE和INSERT配合來完成:先確定需要改變的值是你真正需要的值(因為刪除掉的難以恢復),然後插入數據,刪除原來的數據

SELECT *FROM my_foods
WHERE breakfast = 'milk';

INSERT  INTO my_foods
VALUES('bread+milk');

DELETE FROM my_foods
WHERE breakfast = 'milk';

 

這樣做的缺點是:需要把全部的行的相同數據重新輸入一次,效率降低!UPDATE可以化簡這個問題!

 

 知識點3

UPDATE---改變單一列或者所有列的值(不加上WHERE就會把那一列的所有數據都修改為新的值)

UPDATE my_foods
SET breakfast = 'bread'

 

要是需要更新單一行或者多行,一切都需要交給WHERE來決定

UPDATE my_foods   ---選擇更新的表
SET breakfast = 'bread'    --設置列 的值為什麼
WHERE breakfast = 'milk';    --定位

 

...

當然,SET 不但可以對各種數據類型賦值,也可以套用一些基礎的運算,函數等等。

UPDATE my_foods
SET foods_num = foods_num +1
WHERE breakfast IN ('bread','milk');

 


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

-Advertisement-
Play Games
更多相關文章
  • 1.去重語句:DELETE FROM `v_klg_item` WHERE id NOT IN (SELECT * FROM (SELECT MAX(id) FROM `v_klg_item` GROUP BY NAME) AS tmp); 2.資料庫不同表之間列的複製語句:INSERT INTO ...
  • Select 1、查詢表中所有的數據 select * from 表名 select all id,name from 表名 select id,name from 表名 2、查詢表中完全匹配的數據 select * from 表A,表B where 表A.id=表B.id select * fro ...
  • 出處:kelvin19840813 的博客 http://www.cnblogs.com/kelvin19840813/ 您的支持是對博主最大的鼓勵,感謝您的認真閱讀。本文版權歸作者所有,歡迎轉載,但請保留該聲明。 轉載wiki: https://zh.wikipedia.org/wiki/%E6% ...
  • 在用PL/SQL Developer等客戶端工具連接oracle伺服器時出現ORA-12541:TNS:無監聽程式的錯誤,如下圖: 發現原來是oracle的監聽沒有啟動,重啟監聽後就連接成功了,下麵跟大家分享一下如何啟動oracle的監聽。 1.在安裝Oracle伺服器的主機上,打開Net Conf ...
  • wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz sudo tar xzvf tcl8.6.1-src.tar.gz -C /usr/local/ cd /usr/local/tcl8.6.1/unix/ sudo ./con ...
  • ...
  • 目前我知道Solr建索引有2種方法,這裡介紹一下: 第一種就是我們常用的SolrServer.add(Collection<SolrInputDocument>),下麵介紹一個各種SolrServer. * HttpSolrServer,這個是我們最常用的就不說了 * ConcurrentUpdat ...
  • 對於已預備的語句,可以使用位置保持符。以下語句將從tb1表中返回一行: 以下語句將從tb1表中返回第二到第六行: ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...