學習筆記—MySQL基礎

来源:https://www.cnblogs.com/shangyang/archive/2019/03/23/10584926.html
-Advertisement-
Play Games

資料庫的介紹 mysql資料庫介紹 開放源碼的輕量級關係型資料庫管理系統,體積小、速度快、操作便捷。 資料庫的啟動和連接 mysql資料庫啟動 在終端輸入以下命令,啟動mysql伺服器 輸入命令,查詢mysql伺服器狀態 出現如下提示表示mysql伺服器以啟動成功 mysql資料庫連接 輸入賬戶和密 ...


資料庫的介紹

mysql資料庫介紹

  開放源碼的輕量級關係型資料庫管理系統,體積小、速度快、操作便捷。

 

資料庫的啟動和連接

mysql資料庫啟動

  在終端輸入以下命令,啟動mysql伺服器

service mysql start

  輸入命令,查詢mysql伺服器狀態

service mysql status

  出現如下提示表示mysql伺服器以啟動成功

mysql資料庫連接

  輸入賬戶和密碼連接資料庫

 

  表示啟動成功。

 mysql資料庫斷開連接

  輸入exit,如果顯示Bye表示斷開成功。

 

資料庫的操作

顯示資料庫

show databases;

創建資料庫

create database 庫名 default character set utf8;

刪除資料庫

drop database 庫名;

使用資料庫

use 庫名;

  表示以成功切換到study資料庫。

 

數據表的操作

顯示數據表

show tables;

創建數據表

## 創建表語句
     create tables 表名(欄位名 類型 約束,欄位名 類型 約束,......);
     ## 註意:mysql是沒有序列的,但是可以在創建表的時候直接指定主鍵是自贈的。
    在欄位後使用 auto_increment 表示自增。

## MySQL常見欄位類型
    數值類型:
        int(長度)表示整數類型的數據
        float/double表示浮點數
    字元類型:
        varchar(長度)動態分配存儲長度
        char(長度)分配固定長度
    日期類型:
        date:格式為yyyy-mm-dd
        datetime:格式為yyyy-MM-dd hh:mm:ss 占用8個位元組
        timestamp:特點:會自動進行時區的轉換,占用4個位元組
        time:時間
        year:年份
    其他類型:
        TEXT:字元數據
        BLOB:二進位數據

## 約束
  主鍵約束:
    在創建表時,在欄位後使用 primary key 即可
    在創建表語句的最後面使用 constraint 約束名 pirmary key(主鍵欄位名)
  非空約束:
    在創建表的時候直接在欄位後使用 nut null 即可
    註意:
      mysql的非空約束中空字元是可以存儲進去的。
  檢查約束:
    在mysql中是沒有檢查約束的,但是使用check關鍵字又不會報錯。
    解決:
      使用代碼邏輯進行無效的數據過濾。
      使用 mysql 的存儲過程。
  唯一約束:
    在欄位名後直接使用 unique 即可
    在創建表語句的最後面使用 constraint 約束名 unique(欄位名)
  外鍵約束:
    在欄位名後直接使用 references 父表名(父表主鍵名)
    在創建表語句的最後面使用 constraint 外鍵約束名 foreign key(欄位名) references 父表名(父表主鍵名)

## 在表外部添加約束
  ## 主鍵約束
  alter table 表名 add constraint 約束名 pirmary key(主鍵欄位名);
  ## 唯一約束
  alter table 表名 add constraint 約束名 unique key(欄位名);
  ## 非空約束
  alter table 表名 modify 欄位名 類型 not null;
  ## 外鍵約束
  alter table 表名 constraint 外鍵約束名 foreign key(欄位名) references 父表名(父表主鍵名)on delete set null on update cascase;

修改數據表

添加欄位:
    alter table 表名 add 欄位名 類型 約束;
刪除欄位:
    alter table 表名 drop 欄位名;
修改欄位類型:
    alter table 表名 modify 欄位名 新的類型;
修改欄位名:
    alter table 表名 change 欄位名 新的欄位名 類型;
修改表名:
    alter table 表名 rename as 新的表名;

刪除數據表

drop table 表名;

查看表創建語句

show create table 表名;

 

表數據的操作

查詢數據

## 單表查詢
    ## 查詢全部
        select * from 表名;
    ## 別名
        直接在欄位後使用即可
        select 欄位,欄位 別名,欄位 from 表名;
    ## 連接符
        使用concat(欄位名,“連接的字元”)
    ## 去除重覆
        使用 distinct 關鍵字即可
    ## 排序
        order by 欄位名
    ## where字句
        select * from 表名 where 判斷條件;
    ## 分組
        group by 欄位名
        註意:
                分組可以和欄位一起使用
    ## having
        分組後篩選
## 多表查詢
select * from 表名1 別名1,表名2 別名2 where 別名1.欄位名 判斷條件 別名2.欄位名;

select * from 表名1 別名1 inner join 表名2 欄位名2 on 別名1.欄位名 判斷條件 別名2.欄位名;
## 子查詢
select * from 表名 where 欄位名 in (select 欄位名 from 表名 where 查詢條件);

增加數據

insert into 表名 values(值1,值2,值3,...);    全欄位插入
insert into 表名(主鍵欄位名,欄位,欄位,...) values(值1,值2,值3,...);    部分欄位插入

刪除數據

delete from 表名 where 條件;

修改數據

update 表名 set 欄位名=值,欄位名=值,... where 條件;

分頁查詢

select * from 表名 limit x,y;
x:從第幾條數據開始查詢
y:每頁顯示多少條數據

## 每頁顯示n條,查詢第m頁的信息
select * from 表名 limit m*n-n,n;

 

 資料庫的備份

 導出

## 導出整個資料庫
mysqldump -u root -p 資料庫名>/目錄/文件名.sql;
## 只導出一個表
mysqldump -u root -p 資料庫名 表名>/目錄/文件名.sql;

導入

## 方法一 連接資料庫之後輸入
mysql>source /目錄/文件名.sql;
## 方法二 連接資料庫之前輸入
mysql -u root -p 資料庫名<文件名.sql;

 


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

-Advertisement-
Play Games
更多相關文章
  • 1 備份原來的更新源 如果提示許可權不夠就輸入下麵兩行,先進入到超級用戶,再備份 2 修改更新源 打開sources.list (這就是存放更新源的文件) 將下麵所有內容複製,粘貼並覆蓋sources.list文件中的所有內容 3 讓更新源生效 sudo apt-get update 4 其他問題 該 ...
  • 一、AIDE的概念 AIDE:Advanced Intrusion Detection Environment,是一款入侵檢測工具,主要用途是檢查文檔的完整性。AIDE在本地構造了一個基準的資料庫,一旦操作系統被入侵,可以通過對比基準資料庫而獲取文件變更記錄,使用aide.conf作為其配置文檔。A ...
  • 一、Mapreduce概述 Mapreduce是分散式程式編程框架,也是分散式計算框架,它簡化了開發! Mapreduce將用戶編寫的業務邏輯代碼和自帶預設組合整合成一個完整的分散式運算程式,併發的運行在hadoop集群上。 二、Mapreduce優缺點 優點:1.易於編程:只用實現幾個介面即可完成 ...
  • DataGrip是JetBrains公司推出的管理資料庫的產品,對於JetBrains公司,開發者肯定都不陌生,IDEA和ReSharper都是這個公司的產品,用戶體驗非常不錯。 下載地址: "https://www.jetbrains.com/datagrip/" 所謂工欲善其事,必先利其器,如果 ...
  • 0.前言 最近刷LeetCode 刷資料庫題目 由於資料庫課上的是SQL,而MySQL有許多自己的函數的,怕把剛學會的函數忘記 特在此記錄! 1.題目 2.用到的知識點 前者表示查詢顯示前10行 後者表示從第0行的往後10行,也就是第1行到第10行 如果expression_1不為NULL 就顯示自 ...
  • 報錯信息:com.microsoft.sqlserver.jdbc.SQLServerException: 到主機 的 TCP/IP 連接失敗。 java.net.ConnectException: Connection refused: connect Exception in thread "m ...
  • Oracle 18c 資料庫中scott用戶不存在的解決方法 註:該文為轉載 上面標題可直接跳轉 原文地址:http://www.cnblogs.com/zangdalei/p/5482732.html -- 使用超級管理員登錄 CONN sys/change_on_install AS SYSDB ...
  • 直接上圖比較直觀 tips one:先看看自己 控制台的 SQLplus 可以登錄不 可以直接往下麵走 ,如果不可以就現在服務裡面找到 Oracle 開頭的服務啟動就好 實在不會可以百度 註:由於該步太簡單且Oracle的服務預設開啟 博主就不多贅述了 tips two: 如果自己的資料庫提示沒有S ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...