非後端開發Mysql日常使用小結

来源:https://www.cnblogs.com/jing-tian/archive/2019/10/16/11687588.html
-Advertisement-
Play Games

資料庫的五個概念 1. 資料庫伺服器 2. 資料庫 3. 數據表 4. 數據欄位 5. 數據行 那麼這裡下麵既是對上面幾個概念進行基本的日常操作。 資料庫引擎使用 這裡僅僅只介紹常用的兩種引擎,而InnoDB是從MySQL 5.6.版本以後InnoDB就是作為預設啟動使用的存儲引擎。 既然知道了這倆 ...


資料庫的五個概念

  1. 資料庫伺服器
  2. 資料庫
  3. 數據表
  4. 數據欄位
  5. 數據行

那麼這裡下麵既是對上面幾個概念進行基本的日常操作。

資料庫引擎使用

這裡僅僅只介紹常用的兩種引擎,而InnoDB是從MySQL 5.6.版本以後InnoDB就是作為預設啟動使用的存儲引擎。

(1) InnoDB
        a,支持ACID,簡單地說就是支持事務完整性、一致性;
        b,支持行鎖,以及類似ORACLE的一致性讀,多用戶併發;
        c,獨有的聚集索引主鍵設計方式,可大幅提升併發讀寫性能;
        d,支持外鍵;
        e,支持崩潰數據自修複;
        InnoDB設計目標是處理大容量資料庫系統,它的CPU利用率是其它基於磁碟的關係資料庫引擎所不能比的。
         它是一個可靠地事務處理引擎,不支持全文本搜索

(2) MyISAM
        a,不支持 每次查詢具有原子性
        b,只支持表所
        c,強調的是性能,其執行數 度比InnoDB類型更快,但是不提供事務支持
        d,如果執行大量的SELECT,MyISAM是更好的選擇
        e,缺點:就是不能在表損壞後恢複數據。(是不能主動恢復)

既然知道了這倆種引擎的優缺點,那麼寫一下幾個常用的API操作。

show engines;   --顯示所有可用的引擎

show table status from myDB;   --查看myDB資料庫下的所有表使用的引擎

show create table 表名;         --指定查看表名的所有段名以及引擎

create table 表名(id int primary key, name varchar(50)) engine=MyISAM; --建表的時候指定引擎   

alter table 表名 Engine= MyISAM; --建完表後修改引擎為MyISAM

當然,也可以通過修改配置文件my.ini在[mysqld]最後添加為上default-storage-engine=InnoDB,重啟服務,資料庫預設的引擎修改為InnoDB。

資料庫操作

>net start mysql  //啟動資料庫和停止net stop mysql

>mysql -u root -p   //預設登陸本機(-h是主機地址)

>SELECT USER();   //顯示當前用戶

>create database 資料庫名;    //創建資料庫

>SELECT DATABASE();   //顯示當前使用資料庫

>SHOW DATABASES        //顯示所有資料庫列表

>USE DATABASE 庫名;     //使用該資料庫

>DROP DATABASE 庫名   //刪除資料庫

>CMD終端:mysqladmin -u用戶名 -p舊密碼 password 新密碼   //修改密碼

>mysql語句:set password for 用戶名@localhost = password('新密碼'); 

數據表操作

>SHOW TABLES;   //列出庫中所有的表

>DESCRIBE table1;  //查看表結構

>show columns from 數據表;   //顯示表的所有段名以及類型

>CREATE TABLE 表名 (欄位名 VARCHAR(20), 欄位名 CHAR(1)); //增加數據表和欄位名

>DROP TABLE 表名;  //刪除表

>alter table stu rename as students;  //將舊表明stu改為新表明students。

表欄位操作

添加欄位

語法:ALTER TABLE 表名 ADD COLUMN 欄位名 欄位類型 DEFAULT NULL;

示例:ALTER TABLE dictionary ADD COLUMN calss VARCHAR(10) DEFAULT NULL;
-- dictionary是表名

修改欄位名稱

語法:ALTER TABLE 表名 CHANGE 舊欄位名 新欄位名 新欄位類型 DEFAULT NULL;

示例:ALTER TABLE dictionary CHANGE calss class VARCHAR(10) DEFAULT NULL;

刪除欄位

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

示例:ALTER TABLE dictionary DROP COLUMN calss;

批量增加欄位

bagin;                                           //事務開始
alter table em_day_data add f_day_house7 int(11);
alter table em_day_data add f_day_house8 int(11);
alter table em_day_data add f_day_house9 int(11);
alter table em_day_data add f_day_house10 int(11);
commit;                                             //提交事務,事務結束

數據增刪改查

MySQL語句忽略大小寫的。每張數據表只能存在一個主鍵。

Tip: 由於數據表的首個欄位名(就是主鍵,假如是id)是不能重覆命名的(建議使用id,因為每張表只能存在一個主鍵),所以建議刪除的時候使用(where id=1)鍵名來定位匹配更好。

var  sql = 'SELECT * FROM websites';   --查詢整個websites表所有數據
var  sql = 'SELECT name FROM websites';  --查詢整個websites表name欄位數據

-- websites表必須存在(Id,name,url,alexa,country)這些欄位名
var  addSql = 'INSERT INTO websites(Id,name,url,alexa,country) VALUES(2,"taobao","http://wwww.taobao.com","3","CN")';

insert into table1(id,name,url,country) values(6,"lucas","https://wwww.lucas.com","CN");

-- where是定位到上面的增加數據(可以使用任何"欄位名=值"來匹配),並更改倆個數據
var modSql = 'UPDATE websites SET name = "facebook",url = "http://www.facebook.com" WHERE Id = 2';

var modSql = 'update websites SET alexa="12" where name="taobao"';  --定位name欄位為taobao並更新了alexa欄位的值

var delSql = 'DELETE FROM websites where id=2';  -- 刪除id=2的數據(當然)

-- 刪除name=lucas的數據(建議使用id,因為每張表只能存在一個主鍵),因為他會將表中所有name=lucas的值全部刪除
delete from websites where name="lucas";   

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

-Advertisement-
Play Games
更多相關文章
  • 背景 在如今的互聯網環境下,海量數據已隨處可見並且還在不斷增長,對於如何存儲處理海量數據,比較常見的方法有兩種: 垂直擴展:通過增加單台伺服器的配置,例如使用更強悍的 CPU、更大的記憶體、更大容量的磁碟,此種方法雖然成本很高,但是實現比較簡單,維護起來也比較方便。 水平擴展:通過使用更多配置一般的服 ...
  • Mysql+Keepalived雙主熱備高可用操作記錄 環境: ubuntu18.04.2 mysql5.7.21 實現高可用之前確保自己的mysql已經是主備或者互為主備了,mysql互為主備操作請看我上篇文章: https://www.cnblogs.com/-admin-/p/11654318 ...
  • 昨天我拿了本《安卓開發大全》的書,把它放進了冰箱,你猜怎麼樣? 它涼了。 記得2013年的時候,安卓崛起,一夜之間遍地談論安卓這個奇怪的機器人。 安卓受寵的原因,主要圍繞著: 1 應用商城,給與每個開發者足夠的誘惑,是公司員工可以業餘一展技能的時刻。 百花齊放的開發應用,以及如饑似渴的市場,給與了安 ...
  • 仿淘寶詳情頁圖片滑鼠移過去可對圖片放大顯示在右側 效果圖如下圖,此功能支持PC端與移動端 接下來進入代碼實現環節: 先準備兩張圖片,一張小圖片叫 '土味.jpg',大小160*91;一張大圖片叫 ' 土味Big.jpg ',大小320*181。 大家看圖片名字是什麼就知道我要乾什麼,大家都懂的,接下 ...
  • 大家好我是QD小白,這是人生第一次寫博客,準備寫的內容是Jquery淡入淡出輪播圖實現,在此之前學習JS寫的輪播圖效果都感覺不怎麼好,學習了jQuery里的淡入淡出效果後又寫了一次輪播圖效果明顯感覺好了許多。現在我就來分享下自己寫輪播圖的思路和方法。 HTML部分: <div id="img-box ...
  • 問題描述: 將數值處理為 10 的倍數,並支持向上或者向下取整 如將 2345 可以處理為 2300 | 2400 | 3000 | 2000 解決方案: ...
  • 一、IndexedDB 1、簡介 隨著瀏覽器功能增強,許多網站開始將大量數據保存在客戶端,從而減少從伺服器獲取數據的操作,提高了響應速度。 cookie 由於大小不超過 4kb,肯定不合適。 LocalStorage 大小在 2.5 - 10 M間(不同瀏覽器不同,比如Chrome為 5M),且不提 ...
  • 今天在工作的時候,遇到了一個需求,就是需要一鍵展開或者關閉樹形結構。關於樹形結構的不是很熟悉,然後去百度,結果也不是很準確。最後經過Google才找到。下麵分享給大家 直接看代碼: 上面的是摺疊,下麵的是展開。有一個標誌位,每次執行不同的代碼。然後把找到的表格貼在下麵,方便大家查閱(侵刪) 常用的配 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...