Mysql數據庫基礎(入門)


目錄

一.認識Sql

1.什么是Sql

2.Sql的作用

3.Sql通用語法

4.Sql分類

二.數據庫的操作(DDL)

1.創建數據庫

2.顯示/使用數據庫

3.修改數據庫

4.刪除數據庫

三.常用數據類型

1.數值類型

2.字符串類型

3.日期類型

4.詳細的數據類型

四.表的操作(DDL)

1.創建表

2.查看表

3.修改表

4.刪除表



一.認識Sql

1.什么是Sql

????????結構化查詢語言(Structured Query Language)簡稱Sql.它是一種特殊的帶有目的的編程語言,是一種數據庫查詢和程序設計語言,用于存取數據以及查詢,更新和管理關系數據庫系統。

2.Sql的作用

????????①所有關系型數據庫都可以使用SQL

????????②是所有關系型數據庫的統一查詢規范,不同的關系型數據庫都支持SQL

????????③不同數據庫之間的sql有一些區別(我們在此主要學習MySql數據庫)

3.Sql通用語法

????????①SQL語句可以單行 或者 多行書寫,以分號 結尾 ; (Sqlyog中可以不用寫分號)

????????②可以使用空格和縮進來增加語句的可讀性。

????????③MySql中使用SQL不區分大小寫,一般關鍵字大寫,數據庫名 表名列名 小寫。

????????⑤注釋方式

注釋類型

語法

說明

示例

單行注釋

-- 注釋內容

標準SQL單行注釋,

必須包含空格

--

后緊跟一個空格)

SELECT * FROM users; -- 查詢所有用戶數據

多行注釋

/* 注釋內容 */

標準SQL多行注釋,可跨越多行

/* 該查詢用于獲取活躍用戶數據 創建日期:2023-01-01 */

MySQL單行注釋

# 注釋內容

MySQL特有單行注釋,

無需空格

#

后可直接寫內容)

SELECT * FROM products # 獲取所有商品信息

4.Sql分類

分類

簡稱

全稱

說明

數據定義語言

DDL

Data Definition Language

定義數據庫對象:數據庫、表、列等

(例如:

CREATE

,

ALTER

,

DROP

數據操作語言

DML

Data Manipulation Language

對數據庫中的表記錄進行更新操作

(例如:

INSERT

,

UPDATE

,

DELETE

數據查詢語言

DQL

Data Query Language

查詢數據庫中的表記錄

(核心命令:

SELECT

數據控制語言

DCL

Data Control Language

定義數據庫訪問權限、安全級別及創建用戶

(例如:

GRANT

,

REVOKE

(了解)

  • 建表結構 → DDL
  • 增刪改數據 → DML
  • 檢索數據 → DQL
  • 設置用戶權限 → DCL

我們在此重點學習DML和DQL。

二.數據庫的操作(DDL)

1.創建數據庫

命令?說明
create database 數據庫名;創建指定名稱的數據庫。
create database 數據庫名 character set字符集;創建指定名稱的數據庫,并且指定字符集(一般都指定utf8mb4)

? ? ? ? 示例:

????????創建名為 db_test的數據庫

create database db_test;

????????如果系統沒有 db_test 的數據庫,則創建一個使用utf8mb4字符集的 db_test 數據庫,如果有則不創建

create database if not exists db_test character set utf8mb4;

2.顯示/使用數據庫

命令說明示例
USE 數據庫名;切換當前操作的數據庫USE shop_db;
SELECT DATABASE();查看當前正在使用的數據庫名稱SELECT DATABASE(); → 返回 shop_db
SHOW DATABASES;列出MySQL服務器中所有數據庫SHOW DATABASES; → 顯示所有數據庫列表
SHOW CREATE DATABASE 數據庫名;查看指定數據庫的詳細定義信息SHOW CREATE DATABASE shop_db;

????????示例:

? ? ? ?使用數據庫或切換數據庫到db_test

use db_test;

? ? ? ? 查看當前正在使用的數據庫

select database();

? ? ? ? 查看Mysql中有哪些數據庫

show databases;

? ? ? ? 查看一個數據庫的定義信息

show create database db_test;

3.修改數據庫

命令說明
alter database 數據庫名 character set 字符集;數據庫的字符集修改操作

? ? ? ? 示例:? ? ? ??

????????將數據庫db_test 的字符集 修改為 utf8

alter database db_test character set utf8;

????????查看當前數據庫的基本信息,發現編碼已更改

show create database db_test;

4.刪除數據庫

命令說明
drop database 數據庫名從MySql中永久的刪除某個數據庫

? ? ? ? 示例:

? ? ? ? 刪除數據庫db_test

drop database db_test;

三.常用數據類型

1.數值類型

分為整數類型和浮點類型

數據類型大小說明對應 Java 類型
BIT[(M)]M 位(1-64)二進制數,存儲范圍:0 到 2^M-1
默認 M=1(存 0/1)
Boolean
INT4 字節整數范圍:-231 到 231-1 (約 ±21 億)Integer
DOUBLE(M, D)8 字節雙精度浮點數,M=總位數,D=小數位Double
DECIMAL(M, D)M/D 最大值 + 2 字節精確小數,M=總位數,D=小數位
適合財務計算
BigDecimal

2.字符串類型

數據類型大小說明對應 Java 類型
VARCHAR(SIZE)0-65,535 字節可變長度字符串,SIZE=最大字符數
推薦存儲長度不固定的文本(如用戶名)
String
TEXT0-65,535 字節 (64KB)存儲長文本數據(如文章/評論)
不支持默認值
String

3.日期類型

數據類型大小說明對應 Java 類型
DATETIME8 字節范圍:1000-01-01 00:00:00 到 9999-12-31 23:59:59
不涉及時區轉換
java.util.Date
java.sql.Timestamp
TIMESTAMP4 字節范圍:1970-01-01 00:00:01 UTC 到 2038-01-19 03:14:07 UTC
自動時區轉換
java.util.Date
java.sql.Timestamp

4.詳細的數據類型

四.表的操作(DDL)

1.創建表

? ? ? ? 創建表student 包括學號,姓名,年齡字段 ,并且使用comment關鍵字 給字段起別名

create table student{id int comment '學號',name varchar(20) comment '名字',age int comment '年齡'
};

2.查看表

命令說明
show tables;查看當前數據庫中的所有表名
desc 表名;查看數據表的結構

? ? ? ? 查看表student結構

desc student;

3.修改表

????????快速創建一個表結構相同的表(復制表結構)

? ? ? ??? ? ? ? 將student表結構復制給student1

create table student2 like student;

? ? ? ?修改表名?rename table 舊表名 to 新表名

????????????????將student表 改為 student1

rename table student to student1;

? ? ? ? 修改表的字符集?alter table 表名 character set 字符集

????????將student表的字符集 修改為gbk? ?

alter table student character set gdk;

? ? ? ? 向表中添加列??alert table 表名 add 字段名稱 字段類型

????????為student表添加一個新的字段為 學生描述 cdesc varchar(20)

ALTER TABLE student ADD cdesc VARCHAR(20);

? ? ? 修改表中的列的數據類型或長度,關鍵字modify?alter table 表名 modify 字段名稱 字段類型

????????對student表的age字段進行修改,類型varchar(50)

ALTER TABLE student MODIFY cdesc VARCHAR(50);

? ? ? 修改列名稱,關鍵字change?alter table 表名 change 舊列名 新列名 類型(長度)

????????對student表中的 age字段進行更換, 更換為 Age varchar(30)

ALTER TABLE student CHANGE cdesc description VARCHAR(30);

刪除列,關鍵字drop?alter table 表名 drop 列名;

????????刪除student表中description這列

ALTER TABLE student DROP description;

4.刪除表

命令說明
drop table 表名;刪除表(從數據庫中永久刪除某一張表)
drop table if exists 表名;判斷表是否存在, 存在的話就刪除,不存在就不執行刪除

? ? ? ? 示例:

? ? ? ? 刪除表student

drop table student;

? ? ? ? 判斷表student是否存在,再刪除

drop table if exists student;

????????如果要刪除表中的所有數據,有兩種做法

????????????????1. delete from 表名; 不推薦. 有多少條記錄 就執行多少次刪除操作. 效率低

????????????????2. truncate table 表名: 推薦. 先刪除整張表, 然后再重新創建一張一模一樣的表. 效率高

?

truncate table 表名;

有錯誤的地方,大家一起指出,一起學習!!!

完結撒花,下一章內容會學習對表中的數據進行操作!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/91043.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/91043.shtml
英文地址,請注明出處:http://en.pswp.cn/web/91043.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MySQL 鎖機制 15 連問 · 面試速答版

一、腦圖:鎖全景(先記結構,再填細節) 鎖層級 ├─ 表鎖 │ ├─ 意向鎖 IS / IX │ └─ 表鎖 READ / WRITE └─ 行鎖├─ 記錄鎖 Record├─ 間隙鎖 Gap└─ 臨鍵鎖 Next-Key二、15 問 15 答(面試官一問一…

【Linux】發展歷程

很高興為您詳細介紹Linux操作系統的詳細發展歷程。Linux是一個自由和開放源代碼的操作系統內核,由林納斯托瓦茲(Linus Torvalds)于1991年首次發布。以下是Linux操作系統的主要發展里程碑:1. Linux 0.01 (1991)發布日期&#xff1a…

LNMP架構+wordpress實現動靜分離

WordPress簡稱WP,最初是一款博客系統,后逐步演化成一款免費的CMS(內容管理系統/建站系統)。 WordPress網站的適用場景: 博客 企業官網 作品集網站 電商平臺 線上教育系統 論壇和社群網站 甚至會員系統、訂閱內容…

智慧燈桿:不止于照明,塔能科技的城市感知網絡野心

當夜幕悄然降臨,城市里的路燈便依次亮了起來,它們可不單單照亮了行人前行的路以及車輛行駛的道路,實際上還在悄無聲息地經歷著一場變革。現如今的路燈,早已不再僅僅充當單純的照明工具這么一個角色了,而是逐漸轉變成了…

【Linux內核模塊】調試技巧

內核模塊開發最讓人頭疼的不是寫代碼,而是調試 —— 代碼編譯通過了,加載后卻要么沒反應,要么直接讓系統崩潰。這就像在黑屋子里修機器,看不見摸不著。其實內核調試有一套成熟的工具箱,掌握這些工具和技巧,…

RK3568筆記九十一:QT環境搭建

若該文為原創文章,轉載請注明原文出處。 記錄按照正點原子給的手冊搭建QT環境 參考《09【正點原子】ATK-DLRK3568_Qt開發環境搭建V1.2.pdf》 一、安裝 1、下載 https://mirrors.sau.edu.cn/qt/archive/online_installers/4.6/qt-unified-linux-x64-4.6.0-online.run 2、賦…

面試實戰,問題十六,Java面試,消息隊列,如何避免消息重復消費,怎么回答

在Java面試中,關于消息隊列如何防止消息被重復消費的問題,可以從以下幾個方面進行回答,結合系統架構設計、消息隊列機制和業務邏輯處理,確保在不同場景下實現消息的冪等性。 1. 消息隊列重復消費的根本原因 消息重復消費的根本原因…

PDF轉圖片實用指南:如何批量高效轉換?

將PDF轉換為圖片后,可以更方便地在演示文稿、網頁或電子相冊中使用這些資料,以便更好地展示信息。它 是一款支持多文件批量轉換的工具,可將多個 PDF 文檔一鍵轉換為圖片格式。雖然界面為英文,但操作簡單,不影響使用。你…

走入Linux的世界:編輯器Vim

嘿,各位技術潮人!好久不見甚是想念。生活就像一場奇妙冒險,而編程就是那把超酷的萬能鑰匙。此刻,陽光灑在鍵盤上,靈感在指尖跳躍,讓我們拋開一切束縛,給平淡日子加點料,注入滿滿的pa…

PyTorch中神經網絡的模型構建

要構建自定義模型,需完成兩個核心步驟:繼承 nn.Module 類;重載 __init__ 方法(初始化)和 forward 方法(前向計算) 神經網絡的構造 初始化方法(__init__) def __init__…

QML QtCharts坐標軸系統

QtCharts是Qt框架中強大的數據可視化模塊,它提供了豐富的圖表類型和靈活的坐標軸系統,能夠滿足各種數據展示需求。本文將全面介紹QML中QtCharts的坐標軸系統,包括數值坐標軸(ValueAxis)、對數坐標軸(LogValueAxis)、分類坐標軸(CategoryAxis)…

TI 2025全國電賽猜題

本科組可能的題目方向本科組器材更側重高頻信號處理、復雜控制系統、精密測量及多設備協同,可能涉及以下題目:四旋翼飛行器相關任務題目示例:設計 “基于四旋翼的 UV 光控自主導航系統”任務要求:利用四旋翼飛行器(最大…

Python自動化運維實戰指南

什么是自動化運維定義與背景自動化運維是指利用工具和腳本自動執行傳統上需要人工操作的IT運維任務,包括但不限于服務器配置管理、軟件部署、監控告警、日志分析等日常工作。隨著互聯網業務規模的擴大,傳統手工運維方式已無法滿足快速部署、規模化管理等…

k8s的csi對接GPFS

在 Kubernetes(k8s)集群中,通過 CSI(Container Storage Interface)對接 GPFS(General Parallel File System,現為 IBM Spectrum Scale)是實現高性能共享存儲的重要方案。GPFS 作為并…

HTB賽季8靶場 - era

nmap掃描 └─$ nmap -p- --min-rate 1000 -T4 10.129.137.201 -oA nmapfullscan Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-07-27 21:19 EDT Warning: 10.129.137.201 giving up on port because retransmission cap hit (6). …

Bug貓學習史#1:面向對象

在Java編程中,掌握幾個核心概念對深入學習至關重要:類屬性建議采用包裝類以提升靈活性;建造者模式中this關鍵字能有效簡化對象構建過程;static關鍵字涉及類的加載機制;接口默認使用public修飾符并支持默認方法實現&…

優測推出HarmonyOS全場景測試服務,解鎖分布式場景應用卓越品質!

隨著HarmonyOS NEXT“純血鴻蒙”的全面商用,生態正以前所未有的速度重構終端操作系統格局。對于APP廠商而言,應用測試需要從單一設備思維向場景化服務驗證轉變。優測云服務平臺正式推出 HarmonyOS全場景測試解決方案,針對鴻蒙系統提供功能測試…

二層環路與三層環路:原理、區別與解決方案全解析

網絡環路是網絡運維中最常見也最具破壞性的問題之一。本文將深入淺出地解析二層環路和三層環路的核心概念,通過對比分析幫助讀者全面理解這兩種環路的形成機制、危害表現及解決方案。一、環路問題概述 1.1 什么是網絡環路 網絡環路是指數據包在網絡中循環傳輸無法到…

Python爬蟲庫性能與選型實戰指南:從需求到落地的全鏈路解析

目錄 一、性能基準測試:用數據打破認知誤區 1. 靜態頁面采集:效率與資源的終極對決 2. 動態頁面渲染:速度與真實性的博弈 二、場景化選型矩陣:從需求到工具的精準映射 1. 小規模快速原型開發(≤1000頁)…

uni-app switch(開關選擇器) BUG

uni-app switch(開關選擇器) BUGBUG:uni-app中的switch的checked屬性并不能根據根據綁定的動態數據進行調整switch開關選擇器(BUG)switch開關選擇器(BUG) - 我的使用用途switch開關選擇器&#…