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

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

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

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

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

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

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

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

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

1.2 客戶端工具

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

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

1.3 可視化工具

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

二、SQL語言

2.1 SQL是什么

SQL(Structured Query Language)是結(jié)構(gòu)化查詢語?的簡(jiǎn)稱,是?種數(shù)據(jù)庫查詢和程序設(shè)計(jì)語?,?于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫。

2.2 SQL分類

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

注意:SQL語言對(duì)大小寫不敏感

三、庫的操作

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ù)庫名稱
  • {}:表示必須選
  • |:表示任選其中一個(gè)
  • []:表示括號(hào)中內(nèi)是可選項(xiàng)
  • CHARACTER SET:指定數(shù)據(jù)庫采?的字符集編碼
  • COLLATE:指定數(shù)據(jù)庫字符集的校驗(yàn)規(guī)則
  • ENCRYPTION:數(shù)據(jù)庫是否加密,MySQL 8.0.16中引?的新選項(xiàng)、

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

create database test;

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

create database if not exists test;

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

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

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

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

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

show charset;

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

show collation;

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

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

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

utf8mb4 編碼是對(duì) Unicode 字符集的?種實(shí)現(xiàn),?1到4個(gè)字節(jié)表??個(gè)字符,可以表?世界上?乎所有的字符,?且更節(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%' 查看當(dāng)前系統(tǒng)默認(rèn)字符集

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

3.2.3 創(chuàng)建一個(gè)制定字符集和排序規(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ù)庫主要是針對(duì)數(shù)據(jù)庫的字符集和排序規(guī)則進(jìn)行修改

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

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

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

DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

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

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

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

相關(guān)文章

  • IDEA 程序包不存在,找不到符號(hào)但是明明存在對(duì)應(yīng)的jar包(問題分析及解決方案)

    IDEA 程序包不存在,找不到符號(hào)但是明明存在對(duì)應(yīng)的jar包(問題分析及解決方案)

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

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

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

    java生成驗(yàn)證碼工具類

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

    基于Java實(shí)現(xiàn)簡(jiǎn)單的身材計(jì)算程序

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

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

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

    Maven配置文件修改及導(dǎo)入第三方j(luò)ar包的實(shí)現(xiàn)

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

    Spring cloud alibaba之Gateway網(wǎng)關(guān)功能特征詳解

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

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

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

    Maven構(gòu)建時(shí)跳過部分測(cè)試的實(shí)例

    下面小編就為大家分享一篇Maven構(gòu)建時(shí)跳過部分測(cè)試的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助
    2017-11-11
  • 五個(gè)很實(shí)用的IDEA使用技巧分享

    五個(gè)很實(shí)用的IDEA使用技巧分享

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

最新評(píng)論

苗栗县| 兴业县| 卫辉市| 临泉县| 汉沽区| 绥中县| 武胜县| 肥城市| 潜山县| 财经| 高陵县| 东港市| 晋城| 潜江市| 景德镇市| 曲靖市| 苍梧县| 尼勒克县| 湛江市| 韩城市| 郯城县| 潞西市| 改则县| 泰宁县| 邢台县| 沅陵县| 石林| 手机| 安仁县| 南川市| 宁都县| 建宁县| 司法| 霍城县| 班玛县| 保康县| 马鞍山市| 响水县| 彩票| 葫芦岛市| 盐边县|