最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL數(shù)據(jù)庫基礎與庫的操作大全

 更新時間:2025年09月30日 08:56:04   作者:學習編程的Kitty  
本文介紹MySQL安裝與服務啟動方式,解析數(shù)據(jù)庫服務器、數(shù)據(jù)庫、表的關系,概述SQL語言分類(DDL/DML/DCL)及作用,并詳解數(shù)據(jù)庫創(chuàng)建、查看、修改、刪除操作,強調字符集設置和刪除數(shù)據(jù)庫的風險,感興趣的朋友跟隨小編一起看看吧

一、MySQL數(shù)據(jù)庫基礎

當MySQL安裝完成之后,bin?錄下有?個mysqld(Linux)或mysqld.exe(windoows)的可執(zhí)?程序,mysqld可執(zhí)?程序運?后,MySQL服務也就啟動了。當把MySQL服務配置為?啟動,操作系統(tǒng)啟動時會?動運?mysqld可執(zhí)?程序,從?啟動MySQL服務。

1.1 數(shù)據(jù)庫服務器與數(shù)據(jù)庫與表

數(shù)據(jù)庫服務器是指在計算機上安裝了一個數(shù)據(jù)庫管理系統(tǒng)程序,這個程序可以管理多個數(shù)據(jù)庫,一般開發(fā)人員會針對每一個應用創(chuàng)建一個數(shù)據(jù)庫

那為了保存應用中的實體,一般會在書庫中創(chuàng)建多個表,已保存程序中實體的數(shù)據(jù)

所以他們的關系就是:數(shù)據(jù)庫服務器——管理——>數(shù)據(jù)庫——管理——>

1.2 客戶端工具

MySQL安裝成功后有自帶的命令行客戶端工具,可以輸入命令并且執(zhí)行SQL語句,所以MySQL的使用還是非常簡單的,打開終端輸入命令即可

我們輸入安裝時就設置的密碼,連接成功了,我們使用select version( )的SQL語句查看了當前MySQL的版本

1.3 可視化工具

MySQL官方提供了可視化工具MySQL Workbench,但是博主在這里使用的是Navicat可視化客戶端工具,在業(yè)內廣泛使用

二、SQL語言

2.1 SQL是什么

SQL(Structured Query Language)是結構化查詢語?的簡稱,是?種數(shù)據(jù)庫查詢和程序設計語?,?于存取數(shù)據(jù)以及查詢、更新和管理關系數(shù)據(jù)庫。

2.2 SQL分類

• DDL【Data Definition Language】 數(shù)據(jù)定義語?,?來維護存儲數(shù)據(jù)的結構
        代表指令: create, drop, alter 
• DML【Data Manipulation Language】 數(shù)據(jù)操縱語?,?來對數(shù)據(jù)進?操作
        代表指令: insert,delete,update,select 
• DCL【Data Control Language】 數(shù)據(jù)控制語?,主要負責權限管理和事務
        代表指令: grant,revoke,commit 

注意:SQL語言對大小寫不敏感

三、庫的操作

3.1 查看數(shù)據(jù)庫

show databases;

3.2 創(chuàng)建數(shù)據(jù)庫

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_option] ...
        create_option: [DEFAULT] {
        CHARACTER SET [=] charset_name
        | COLLATE [=] collation_name
        | ENCRYPTION [=] { 'Y' | 'N' }
}

  • db_name:表示自定義的數(shù)據(jù)庫名稱
  • {}:表示必須選
  • |:表示任選其中一個
  • []:表示括號中內是可選項
  • CHARACTER SET:指定數(shù)據(jù)庫采?的字符集編碼
  • COLLATE:指定數(shù)據(jù)庫字符集的校驗規(guī)則
  • ENCRYPTION:數(shù)據(jù)庫是否加密,MySQL 8.0.16中引?的新選項、

3.2.1創(chuàng)建一個名字為test的數(shù)據(jù)庫

create database test;

3.2.2自定義一個數(shù)據(jù)庫名,如果該數(shù)據(jù)庫不存在則創(chuàng)建

create database if not exists test;

如果不加 if not exists,觀察發(fā)現(xiàn)報錯顯示test已經存在無法創(chuàng)建

我們加上 if not exists,觀察發(fā)現(xiàn)數(shù)據(jù)庫里面已經存在test,所以沒有創(chuàng)建,出現(xiàn)了一個警告

我們顯示警告,提示test已經存在不能創(chuàng)建

所以建議創(chuàng)建數(shù)據(jù)庫的時候加上 if not exists,可以有效防止報錯,而導致程序中斷

在設置字符集編碼之前,我們先來了解一下字符集編碼和校驗排序規(guī)則

show charset;

我們看到當前數(shù)據(jù)庫支持的所以字符集編碼,MySQL8.0默認的字符集編碼是utf8mb4,而MySQL5.7默認的字符集是latin1

show collation;

這里我們只顯示部分排序排序規(guī)則,MySQL8.0默認的排序規(guī)則是 utf8mb4_0900_ai_ci,MySQL5.7默認排序規(guī)則是utf8mb4_general_ci 

我們可以分析一下當前字符集和排序規(guī)則對數(shù)據(jù)庫的影響

utf8mb4_0900_ai_ci 是MySQL8.0引?的新規(guī)則,在?版本中不能識別;

utf8mb4 編碼是對 Unicode 字符集的?種實現(xiàn),?1到4個字節(jié)表??個字符,可以表?世界上?乎所有的字符,?且更節(jié)少空間

0900 是基于UCA9.0.0算法,UCA是Unicode Collation Algorithm的縮寫

  • ai是Accent-insensitive的縮寫,表??聲不敏感
  • ci是Case-insensitive的縮寫表???寫不敏感
  • as是Accent-sensitive的縮寫,表??聲敏感
  • cs是Case-sensitive的縮寫,表???寫敏感

show variables like '%character%' 查看當前系統(tǒng)默認字符集

show variables like '%collation%'  查看當前系統(tǒng)默認排序規(guī)則

3.2.3 創(chuàng)建一個制定字符集和排序規(guī)則的數(shù)據(jù)庫

 create database if not exists java character set utf8mb4 collate utf8mb4_0900_ai_ci;

3.3 查看創(chuàng)建庫的語句

show create database db_name;

我們查詢一下java數(shù)據(jù)庫的創(chuàng)建語句

3.4 修改數(shù)據(jù)庫

ALTER {DATABASE | SCHEMA} [db_name] alter_option ...
alter_option: {
[DEFAULT] CHARACTER SET [=] charset_name
| [DEFAULT] COLLATE [=] collation_name
| [DEFAULT] ENCRYPTION [=] {'Y' | 'N'}
| READ ONLY [=] {DEFAULT | 0 | 1}
}

修改數(shù)據(jù)庫主要是針對數(shù)據(jù)庫的字符集和排序規(guī)則進行修改

我們修改之前的test數(shù)據(jù)庫的字符集編碼為gbk

可以觀察到修改之前默認字符集為utf8mb4,修改后則為gbk

3.5 刪除數(shù)據(jù)庫

DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

我們刪除test數(shù)據(jù)庫,可以觀察到刪除后test數(shù)據(jù)庫不存在了

??刪除數(shù)據(jù)庫是非常危險的操作,不要隨意刪除數(shù)據(jù)庫

到此這篇關于MySQL數(shù)據(jù)庫基礎與庫的操作大全的文章就介紹到這了,更多相關mysql數(shù)據(jù)庫基礎與庫內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • IDEA 程序包不存在,找不到符號但是明明存在對應的jar包(問題分析及解決方案)

    IDEA 程序包不存在,找不到符號但是明明存在對應的jar包(問題分析及解決方案)

    這篇文章主要介紹了IDEA 程序包不存在,找不到符號但是明明存在對應的jar包 的解決方案,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • Springboot接收文件與發(fā)送文件實例教程

    Springboot接收文件與發(fā)送文件實例教程

    最近工作中遇到個需求,springboot簡單的上傳文檔或者圖片,并且進行操作,操作完后進行保存指定路徑,下面這篇文章主要給大家介紹了關于Springboot接收文件與發(fā)送文件的相關資料,需要的朋友可以參考下
    2023-05-05
  • java生成驗證碼工具類

    java生成驗證碼工具類

    這篇文章主要為大家詳細介紹了java生成驗證碼工具類,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • 基于Java實現(xiàn)簡單的身材計算程序

    基于Java實現(xiàn)簡單的身材計算程序

    這篇文章主要為大家詳細介紹了如何利用Java實現(xiàn)簡單的身材計算程序,可以計算身體的體脂率以及BMI數(shù)值等,感興趣的小伙伴可以跟隨小編一起學習一下
    2022-12-12
  • SpringBoot?AOP?Redis實現(xiàn)延時雙刪功能實戰(zhàn)

    SpringBoot?AOP?Redis實現(xiàn)延時雙刪功能實戰(zhàn)

    本文主要介紹了SpringBoot?AOP?Redis實現(xiàn)延時雙刪功能實戰(zhàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • Maven配置文件修改及導入第三方jar包的實現(xiàn)

    Maven配置文件修改及導入第三方jar包的實現(xiàn)

    本文主要介紹了Maven配置文件修改及導入第三方jar包的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-08-08
  • Spring cloud alibaba之Gateway網關功能特征詳解

    Spring cloud alibaba之Gateway網關功能特征詳解

    spring cloud gateway是spring cloud推出的第二代網關,是由WebFlux+Netty+Reactor實現(xiàn)的響應式的API網關,它不能在傳統(tǒng)的servlet容器中工作,也不能構建成war包,接下來通過本文給大家分享Spring cloud alibaba--Gateway網關,需要的朋友可以參考下
    2021-08-08
  • java 定時器線程池(ScheduledThreadPoolExecutor)的實現(xiàn)

    java 定時器線程池(ScheduledThreadPoolExecutor)的實現(xiàn)

    這篇文章主要介紹了java 定時器線程池(ScheduledThreadPoolExecutor),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • Maven構建時跳過部分測試的實例

    Maven構建時跳過部分測試的實例

    下面小編就為大家分享一篇Maven構建時跳過部分測試的實例,具有很好的參考價值,希望對大家有所幫助
    2017-11-11
  • 五個很實用的IDEA使用技巧分享

    五個很實用的IDEA使用技巧分享

    IntelliJ IDEA 是一款優(yōu)秀的 Java 集成開發(fā)環(huán)境,它提供了許多強大的功能和快捷鍵,可以幫助開發(fā)者提高編碼效率和質量,本文就在為你介紹博主常用的五個IntelliJ IDEA使用技巧,希望能夠給你帶來一些工作效率上的提升
    2023-10-10

最新評論

科技| 清河县| 万安县| 巴塘县| 承德市| 手机| 巴林右旗| 涟源市| 南华县| 蓬安县| 江孜县| 香河县| 额尔古纳市| 孝昌县| 无棣县| 南丰县| 合山市| 武城县| 益阳市| 通州市| 东丰县| 积石山| 洛扎县| 浠水县| 康平县| 二手房| 镇安县| 宜都市| 宁晋县| 揭东县| 清水河县| 淳化县| 大新县| 长乐市| 五寨县| 札达县| 建阳市| 教育| 惠东县| 喀喇| 绵阳市|