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

MySql庫與表的基礎操作大全

 更新時間:2025年10月31日 11:29:43   作者:潘潘潘潘潘潘潘潘潘潘潘潘  
本文詳細講解了MySQL數(shù)據(jù)庫與表的核心操作,掌握這些基礎操作后,可進一步學習MySQL的索引優(yōu)化、事務管理等高級知識,提升數(shù)據(jù)庫操作的效率與安全性,感興趣的朋友跟隨小編一起看看吧

在數(shù)據(jù)庫管理的日常工作中,MySQL 作為一款廣泛使用的關系型數(shù)據(jù)庫,其庫與表的操作是基礎且關鍵的技能。無論是創(chuàng)建數(shù)據(jù)庫以存儲業(yè)務數(shù)據(jù),還是設計表結構來組織信息,每一步操作都直接影響著后續(xù)數(shù)據(jù)管理的效率與安全性

一、庫的操作

數(shù)據(jù)庫(庫)是 MySQL 中存儲數(shù)據(jù)的頂層容器,所有的表和數(shù)據(jù)都依賴于庫存在。掌握庫的操作,是搭建數(shù)據(jù)存儲框架的第一步。

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

基礎語法

CREATE DATABASE (if not exists) db_name (create_specification (,create_specification) ...)
create_specification: 
[DEFAULT] CHARACTER SET charset_name 
[DEFAULT] COLLATE collation_name
  • 語法中不看是否是大小寫,大寫的是關鍵字,一定要寫的
  • if not exists是可選項
  • CHARACTER SET:指定數(shù)據(jù)庫采用的字符集
  • COLLATE:指定數(shù)據(jù)庫字符集的檢驗規(guī)則

創(chuàng)建數(shù)據(jù)庫案例:

  • 創(chuàng)建名為db1的數(shù)據(jù)庫
create database db1;
  • 創(chuàng)建一個使用utf8字符集的db2數(shù)據(jù)庫
create database db2 charset=utf8;
  • 創(chuàng)建一個使用utf8字符集,并帶校對規(guī)則的db3數(shù)據(jù)庫
create database db3 
charset = utf8 
collate utf8_general_ci;

1.2 查看數(shù)據(jù)庫狀態(tài)

創(chuàng)建數(shù)據(jù)庫后,可通過指令查看系統(tǒng)中所有數(shù)據(jù)庫、單個數(shù)據(jù)庫的創(chuàng)建語句,以及字符集、校驗規(guī)則等配置,確保數(shù)據(jù)庫符合預期

  • 常用指令:
show databases;
  • 查看單個數(shù)據(jù)庫的創(chuàng)建語句(含字符據(jù)、版本兼容配置)
show create database db_name

示例:查看我們剛剛創(chuàng)建的數(shù)據(jù)庫:

  • 查看系統(tǒng)默認字符集與校驗規(guī)則:
show variables like 'character_set_database';
show variables like 'collation_database';

1.3字符集和校驗規(guī)則

校驗規(guī)則直接影響數(shù)據(jù)查詢結果和排序邏輯,以utf8_general_ci(不區(qū)分大小寫)和utf8_bin(區(qū)分大小寫)為例:

操作場景utf8_general_ci(不區(qū)分大小寫)utf8_bin(區(qū)分大小寫)
查詢name='a'的結果返回aA兩條數(shù)據(jù)僅返回a一條數(shù)據(jù)
name排序結果順序為a,A,b,B(忽略大小寫排序)順序為A,B,a,b(按ASCII碼排序)

實操驗證:

  • 創(chuàng)建區(qū)分大小寫的數(shù)據(jù)庫test2并插入數(shù)據(jù):
create database test2 collate utf8_bin; #創(chuàng)建數(shù)據(jù)庫test2
use test2;  #使用test2
create table person(name varchar(20));  #在test2創(chuàng)建表person
insert into person values ('A'),('a'),('b'),('B');  #在表person內插入數(shù)據(jù)
select * from person where name='a';  #查詢表person內name='a'的數(shù)據(jù)

  • 創(chuàng)建不區(qū)分大小的數(shù)據(jù)庫test3并插入數(shù)據(jù)
create database test2 collate utf8_general_ci;
use test2;
create table person(name varchar(20));
insert into person values ('A'),('B'),('a'),('b');
select * from person where name='a';

  • 還可以看一下這兩種校驗規(guī)則插入后,得到的結果排序:
select * from peison order by name;

1.4 修改、刪除與備份數(shù)據(jù)庫(需謹慎,避免風險)

數(shù)據(jù)庫創(chuàng)建后,可能需要調整配置、清理無用數(shù)據(jù)庫,或備份數(shù)據(jù)以防丟失,這些操作需謹慎執(zhí)行。

  1. 修改數(shù)據(jù)庫:僅支持修改字符集和校驗規(guī)則,語法如下:
ALTER DATABASE db_name [alter_spacification...];

示例:將test2庫的字符集改為gbk

alter database test2 charset=gbk

  1. 刪除數(shù)據(jù)庫:謹慎操作,數(shù)據(jù)不可恢復,語法如下:
 DROP DATABASE (if exists) dbname;

【注】刪除數(shù)據(jù)庫會級聯(lián)刪除所有的表和數(shù)據(jù),且無法恢復,生產(chǎn)環(huán)境需提前備份。

3.數(shù)據(jù)庫的備份與恢復:為了保障數(shù)據(jù)安全
備份與恢復是數(shù)據(jù)庫運維的核心,需掌握單庫、多庫、單表的備份方式

操作類型語法命令說明
備份單庫mysqldump -P3306 -u root -p密碼 -B dbname > 數(shù)據(jù)庫備份存儲的文件路徑例子:mysqldump -P3306 -u root -p123456 -B test1 > ~/backup/test3.sql
備份多庫mysqldump -u root -p密碼 -B db1 db2... > 路徑/dbs.sql同時備份多個數(shù)據(jù)庫
備份單表mysqldump -u root -p密碼 db_name table1 table2 > 路徑/table.sql僅備份數(shù)據(jù)庫中的指定表
恢復數(shù)據(jù)mysql> source 路徑/db.sql;登錄 MySQL,再執(zhí)行恢復命令

【注】前三個是shell命令,后一個是MySQL命令;備份單庫時,-P3306是MySQL的端口;若備份時未加-B參數(shù),恢復前需創(chuàng)建空數(shù)據(jù)庫并切換到該數(shù)據(jù)庫,再執(zhí)行source命令。

1.5查看連接情況

查看連接情況可以告訴我i們當前有哪些用戶連接到我們的MySQL,如果查出某個用戶不是正常登錄的,很可能是數(shù)據(jù)庫被入侵了。通過下面的指令可以查看數(shù)據(jù)的連接情況

  • 語法:
show processlist;

輸出結果包括連接ID、用戶名、主機、操作的數(shù)據(jù)庫、命令狀態(tài)信息,如:

二、表的操作

表是數(shù)據(jù)庫中實際存儲數(shù)據(jù)的載體,其結構設計(字段類型、長度、約束等)直接影響數(shù)據(jù)存儲效率和查詢性能。

2.1 創(chuàng)建表

創(chuàng)建表時需定義字段名、字段類型(如int、varchardate),并可指定表的字符集、校驗規(guī)則和存儲引擎(如MyISAMInnoDB

  • 語法
CREATE TABLE table_name ( 
	field1 datatype [comment '字段說明'], 
	field2 datatype [comment '字段說明'], 
	... 
) character set 字符集 collate 校驗規(guī)則 engine 存儲引擎;
  • 實操案例:
create table users (
  id int,
  name varchar(20) comment '用戶名',
  password char(32) comment '密碼是32位的md5值',
  birthday date comment '生日'
) character set utf8 engine MyISAM;

不同存儲引擎的文件差異

  • MyISAM 引擎:生成3個文件(users.frm表結構、users.MYD表數(shù)據(jù)、users.MYI表索引)
  • InnoDB 引擎:生成2個文件(users.frm表結構、users.ibd表數(shù)據(jù) + 索引)

2.2 查看表結構

創(chuàng)建好表后,可通過desc命令快速查看表的字段信息:

desc users;

輸出結果是:

2.3 修改表

在項目實際開發(fā)中,表結構常需調整(如添加字段、修改字段類型、重命名表),可通過ALTER TABLE命令實現(xiàn)。

  • 語法:
ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column datatype]...); ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column   datatype]...); 
ALTER TABLE tablename DROP (column);

實操案例:

  • 在users表添加二條記錄
insert into users values(1,'a','b','1982-01-04'),(2,'b','c','1984-01-04');
  • 在users表中添加一個字段,用于保存圖片路徑
alter table users add assets varchar(100) comment '圖片路徑' after birthday;
修改需求命令說明
添加字段(圖片路徑)alter table users add assets varchar(100) comment '圖片路徑' after birthday;after birthday:指定字段插入在birthday
修改字段長度(用戶名改為 60 位)alter table users modify name varchar(60);modify需完整指定字段類型
刪除字段(密碼列)alter table users drop password;刪除后字段及數(shù)據(jù)不可恢復,需謹慎
重命名表(users改為employeealter table users rename to employee;to可省略,但是命令不熟悉時最好是寫全命令
重命名字段(name改為xingmingalter table employee change name xingming varchar(60);change需同時指定新字段名和完整類型

2.4 刪除表

  • 語法:
DROP (TEMPORARY) TABLE (IF EXISTS) tbl_name [, tbl_name] ...

實操案例:刪除表t1:

結語:

本文詳細講解了MySQL數(shù)據(jù)庫與表的核心操作,掌握這些基礎操作后,可進一步學習 MySQL 的索引優(yōu)化、事務管理等高級知識,提升數(shù)據(jù)庫操作的效率與安全性。

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

相關文章

  • 虛擬主機中phpMyAdmin的安裝配置方法

    虛擬主機中phpMyAdmin的安裝配置方法

    phpMyAdmin 是一套可以通過WEB來管理 MySQL-server 以及單一數(shù)據(jù)庫的 PHP 程序。對于一些虛擬空間的站點來說,應該是不可缺少的吧!!!
    2010-06-06
  • MySQL如何使用時間作為判斷條件

    MySQL如何使用時間作為判斷條件

    這篇文章主要介紹了MySQL如何使用時間作為判斷條件,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • MySQL插入不了中文數(shù)據(jù)問題的原因及解決

    MySQL插入不了中文數(shù)據(jù)問題的原因及解決

    最近發(fā)現(xiàn)新安裝的MySQL數(shù)據(jù)庫不能插入中文字段,所以下面這篇文章主要給大家介紹了關于MySQL插入不了中文數(shù)據(jù)問題的原因及解決方法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-05-05
  • 怎樣快速開啟MySQL的慢查詢日志

    怎樣快速開啟MySQL的慢查詢日志

    如果需要查看某一條SQL查詢速度慢,并對慢的SQL進行優(yōu)化,那么開啟MySQL慢查詢日志是一定要做的事情,本文介紹如何開啟MySQL的慢查詢日志,感興趣的朋友跟隨小編一起看看吧
    2023-11-11
  • MySQL全文檢索的實現(xiàn)示例

    MySQL全文檢索的實現(xiàn)示例

    全文搜索是一種在文本字段中查找關鍵詞的功能。在MySQL中,我們可以使用全文搜索來提高查詢的效率,本文主要介紹了MySQL全文檢索的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
    2024-04-04
  • 簡單解析MySQL中的cardinality異常

    簡單解析MySQL中的cardinality異常

    這篇文章主要介紹了簡單解析MySQL中的cardinality異常,這個異常會導致索引無法使用,需要的朋友可以參考下
    2015-05-05
  • mysql 8.0.18 安裝配置方法圖文教程

    mysql 8.0.18 安裝配置方法圖文教程

    這篇文章主要為大家詳細介紹了mysql 8.0.18 安裝配置方法圖文教程,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • IDEA連接mysql又報錯!Server returns invalid timezone. Go to tab and set serverTimezone  prope的問題

    IDEA連接mysql又報錯!Server returns invalid timezone. Go to tab an

    這篇文章主要介紹了IDEA連接mysql又報錯!Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' prope問題,本文通過圖文并茂的形式給大家介紹的非常詳細,需要的朋友可以參考下
    2020-05-05
  • MySQL慢查詢日志從配置到優(yōu)化實踐全解析

    MySQL慢查詢日志從配置到優(yōu)化實踐全解析

    慢查詢日志是MySQL性能優(yōu)化的關鍵工具,記錄執(zhí)行時間超過閾值的SQL語句,幫助定位性能瓶頸和優(yōu)化SQL,本文介紹MySQL慢查詢日志從配置到優(yōu)化實踐全解析,感興趣的朋友跟隨小編一起看看吧
    2026-01-01
  • MySQL sql_mode的使用詳解

    MySQL sql_mode的使用詳解

    這篇文章主要介紹了MySQL sql_mode的使用詳解,幫助大家更好的理解和學習使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下
    2021-05-05

最新評論

平顺县| 平谷区| 宜黄县| 姜堰市| 邵东县| 龙井市| 漾濞| 措美县| 从化市| 张家口市| 桦甸市| 南川市| 湖州市| 岗巴县| 峡江县| 尖扎县| 乌兰浩特市| 策勒县| 满洲里市| 清原| 灌南县| 揭西县| 彭泽县| 桂平市| 郁南县| 阳信县| 满洲里市| 两当县| 青神县| 北碚区| 阳谷县| 顺平县| 共和县| 朔州市| 东乡族自治县| 九台市| 巴中市| 张家口市| 阳江市| 黄大仙区| 三亚市|