mysql數據庫和數據表的管理(數據庫庫表管理)

本文目錄一覽:

mysql數據庫管理工具有哪些

MySQL 管理工具

本回答來自:MySQL 管理工具_樹懶學堂

MySQL的標準安裝版本中沒有圖形化管理工具,雖然MySQL幾乎所有的任務都可以用命令提示符下的mysqladmin和mysql命令來完成,也會對MySQL留下「界面不友好」的壞印象,為解決這個問題,MySQL開發了多種圖形化的管理工具。下面介紹3個使用比較廣泛的MySQL圖形化管理工具。

Navicat for MySQL

Navicat for MySQL基於Windows平台,為MySQL量身定做,提供類似於MySQL的用戶管理界面工具。此解決方案的出現,將解放PHP、J2EE等程序員以及數據庫設計者、管理者的大腦,降低開發成本,為用戶帶來更高的開發效率。

Navicat for MySQL使用了極好的圖形用戶界面(GUI),可以用一種安全和更為容易的方式快速和容易地創建、組織、存取和共享信息。用戶可完全控制MySQL數據庫和顯示不同的管理資料,包括管理用戶和控制訪問權限,可方便的將數據從一個數據庫轉移到另一個數據庫中(Local to Remote、Remote to Remote、Remote to Local)進行數據備份。

Navicat for MySQL支持Unicode,以及本地或遠程MySQL服務器多連接,用戶可瀏覽數據庫、建立和刪除數據庫、編輯數據、建立或執行SQL queries、管理用戶權限(安全設定)、將數據庫備份/還原、導入/導出數據(支持CSV、TXT、DBF和XML數據格式)等。

phpMyAdmin

phpMyAdmin是基於php環境的web端管理工具,所以是通過瀏覽器來執行具體的MySQL操作,而非客戶端軟件。最大的優點就是便捷性。

phpMyAdmin可以運行在各種版本的PHP及MySQL下,可以對數據庫進行操作,如創建、修改和刪除數據庫、數據表及數據等。安裝完hpMyAdmin後,在瀏覽器中輸入phpMyAdmin訪問地址,如,即可打開登錄頁面

MySQL Administrator

MySQL Administrator是眾多MySQL圖形化管理工具中應用最廣泛的一種,是用來執行數據庫管理操作的程序,以及用來監視和管理MySQL實例的數據庫、用戶的權限和數據的實用程序,比如MySQL服務的配置、控制、開啟和關閉,還可用於管理用戶和連接數據庫,執行數據備份和其他的一些管理任務。它有這幾個優點:

(1)它的圖形化的用戶界面為用戶提供了非常直觀的接口。

(2)它提供了較好的全局設置,這對於MySQL服務器的可執行性、可信度和安全性是相當重要的。

(3)它提供了圖形化的性能顯示,使中止服務器和更改服務器的設置更加簡單。

如何使用Navicat便捷管理 MySQL數據庫

如何使用Navicat便捷管理 MySQL數據庫

1、下載安裝軟件:請認準百正規軟件下載

2、安裝navicat for mysql(注意一下插件的自定義選擇)

3、連接數據庫:

打開navicat for mysql之後找到,文件—-新建連接

4、連接參數填寫

在出現的連接設置裏面,有很多選項都是針對需要連接的數據庫的賬號信息

連接名:可以任意填寫,方便以後識別區分即可

主機名或IP: 填寫服務器的主機名(必須要能解析的)或者服務器IP地址,如果是本機可 以填寫localhost 或 127.0.0.1

端口:默認是3306 如果修改了其他端口,需要對應

密碼:就是用戶名root密碼或者其他mysql用戶的密碼

5、設置好連接數據庫的參數之後,點擊下方的「連接」出現「連接成功」即設置成功

6、數據庫管理:連接上數據庫之後,在左側會顯示當前mysql所有的數據庫。點擊對應的數據庫,能查看當前數據庫下面的表

7、添加刪除數據庫:如果需要添加刪除數據庫的話,很簡單選擇需要操作的數據庫,鼠標右鍵選擇操作即可

8、添加刪除表:同樣對於數據庫下方的表,如果要新建的話點擊選擇 表—新建

對於新建的表,名和類型都可以手動輸入指定選擇。設置好之後,點擊保存輸入表名即可完成操作

9、點擊添加好的表,或數據庫的表。雙擊之後右側會列出當前表的詳細列項目和屬性

如何使用命令行

雖然是圖形化管理工具,但是對於很多操作其實還是需要SQL命令會更加方便。進入sql命令行界面,點擊「工具」–「命令列界面」

隨後在右下方空白區域進入了SQL命令行界面,操作方法和普通進入mysql命令行界面一樣使用命令。如果需要清除當前屏幕內容,可以點擊「清除」即可

其他功能

數據庫表結構設計,常見的數據庫管理系統

一、數據場景 1、表結構簡介 任何工具類的東西都是為了解決某個場景下的問題,比如Redis緩存系統熱點數據,ClickHouse解決海量數據的實時分析,MySQL關係型數據庫存儲結構化數據。數據的存儲則需要設計對應的表結構,清楚的表結構,有助於快速開發業務,和理解系統。表結構的設計通常從下面幾個方面考慮:業務場景、設計規範、表結構、字段屬性、數據管理。

2、用戶場景

例如存儲用戶基礎信息數據,通常都會下面幾個相關表結構:用戶信息表、單點登錄表、狀態管理表、支付賬戶表等。

用戶信息表

存儲用戶三要素相關信息:姓名,手機號,身份證,登錄密碼,郵箱等。

CREATE TABLE `ms_user_center` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT ‘用戶ID’, `user_name` varchar(20) NOT NULL COMMENT ‘用戶名’, `real_name` varchar(20) DEFAULT NULL COMMENT ‘真實姓名’, `pass_word` varchar(32) NOT NULL COMMENT ‘密碼’, `phone` varchar(20) NOT NULL COMMENT ‘手機號’, `email` varchar(32) DEFAULT NULL COMMENT ‘郵箱’, `head_url` varchar(100) DEFAULT NULL COMMENT ‘用戶頭像URL’, `card_id` varchar(32) DEFAULT NULL COMMENT ‘身份證號’, `user_sex` int(1) DEFAULT ‘1’ COMMENT ‘用戶性別:0-女,1-男’, `create_time` datetime DEFAULT NULL COMMENT ‘創建時間’, `update_time` datetime DEFAULT NULL COMMENT ‘更新時間’, `state` int(1) DEFAULT ‘1’ COMMENT ‘是否可用,0-不可用,1-可用’, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’用戶表’; 單點登錄表

用意是在多個業務系統中,用戶登錄一次就可以訪問所有相互信任的業務子系統,是聚合業務平台常用的解決方案。

CREATE TABLE `ms_user_sso` ( `user_id` int(11) NOT NULL COMMENT ‘用戶ID’, `sso_id` varchar(32) NOT NULL COMMENT ‘單點信息編號ID’, `sso_code` varchar(32) NOT NULL COMMENT ‘單點登錄碼,唯一核心標識’, `log_ip` varchar(32) DEFAULT NULL COMMENT ‘登錄IP地址’, `create_time` datetime DEFAULT NULL COMMENT ‘創建時間’, `update_time` datetime DEFAULT NULL COMMENT ‘更新時間’, `state` int(1) DEFAULT ‘1’ COMMENT ‘是否可用,0-不可用,1-可用’, PRIMARY KEY (`user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’用戶單點登錄表’; 狀態管理表

系統用戶在使用時候可能出現多個狀態,例如賬戶凍結、密碼鎖定等,把狀態聚合到一起,可以更加方便的管理和驗證。

CREATE TABLE `ms_user_status` ( `user_id` int(11) NOT NULL COMMENT ‘用戶ID’, `account_status` int(1) DEFAULT ‘1’ COMMENT ‘賬戶狀態:0-凍結,1-未凍結’, `real_name_status` int(1) DEFAULT ‘0’ COMMENT ‘實名認證狀態:0-未實名,1-已實名’, `pay_pass_status` int(1) DEFAULT ‘0’ COMMENT ‘支付密碼是否設置:0-未設置,1-設置’, `wallet_pass_status` int(1) DEFAULT ‘0’ COMMENT ‘錢包密碼是否設置:0-未設置,1-設置’, `wallet_status` int(1) DEFAULT ‘1’ COMMENT ‘錢包是否凍結:0-凍結,1-未凍結’, `email_status` int(1) DEFAULT ‘0’ COMMENT ‘郵箱狀態:0-未激活,1-激活’, `message_status` int(1) DEFAULT ‘1’ COMMENT ‘短訊提醒開啟:0-未開啟,1-開啟’, `letter_status` int(1) DEFAULT ‘1’ COMMENT ‘站內信提醒開啟:0-未開啟,1-開啟’, `emailmsg_status` int(1) DEFAULT ‘0’ COMMENT ‘郵件提醒開啟:0-未開啟,1-開啟’, `create_time` datetime DEFAULT NULL COMMENT ‘創建時間’, `update_time` datetime DEFAULT NULL COMMENT ‘更新時間’, `state` int(1) DEFAULT ‘1’ COMMENT ‘是否可用,0-不可用,1-可用’, PRIMARY KEY (`user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’用戶狀態表’; 支付賬戶表

用戶交易的核心表,存儲用戶相關的賬戶資金信息。

CREATE TABLE `ms_user_wallet` ( `wallet_id` int(11) NOT NULL AUTO_INCREMENT COMMENT ‘錢包ID’, `user_id` int(11) NOT NULL COMMENT ‘用戶ID’, `wallet_pwd` varchar(32) DEFAULT NULL COMMENT ‘錢包密碼’, `total_account` decimal(20,2) DEFAULT ‘0.00’ COMMENT ‘賬戶總額’, `usable_money` decimal(20,2) DEFAULT ‘0.00’ COMMENT ‘可用餘額’, `freeze_money` decimal(20,2) DEFAULT ‘0.00’ COMMENT ‘凍結金額’, `freeze_time` datetime DEFAULT NULL COMMENT ‘凍結時間’, `thaw_time` datetime DEFAULT NULL COMMENT ‘解凍時間’, `create_time` datetime DEFAULT NULL COMMENT ‘創建時間’, `update_time` datetime DEFAULT NULL COMMENT ‘更新時間’, `state` int(1) DEFAULT ‘1’ COMMENT ‘是否可用,0-不可用,1-可用’, PRIMARY KEY (`wallet_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’用戶錢包’; 二、設計規範 1、涉及模塊

通過上面幾個表設計的案例,可以看到表設計關聯到數據庫的各個方面知識:數據類型,索引,編碼,存儲引擎等。表設計是一個很大的命題,不過也遵循一個基本規範:三範式。

2、三範式 基礎概念

一範式

表的列的具有原子性,不可再分解,即列的信息,不能分解,關係型數據庫MySQL、Oracle等自動的滿足。

二範式

每個事實的數據記錄只會出現一次, 不會冗餘, 通常設計一個主鍵來實現。

三範式

要求一個表中不包含已經存在於其它表的非主鍵信息,例如部門和員工的信息,員工表包含部門表的主鍵ID,則可以關聯獲取相關信息,沒必要在員工表保存相關信息。

優缺點對比

範式化設計

範式化結構設計通常更新快,因為冗餘數據較少,表結構輕巧,也更好的寫入內存中。但是查詢起來涉及到關聯,代價非常高,非常損耗查詢性能。

反範式化設計

所有的數據都在一張表中,避免關聯查詢,索引的有效性更高,但是數據的冗餘性極高。

建議結論

上述的兩種設計方式在實際開發中都是不存在的,在實際開發中都是混合使用。比如匯總統計,緩存數據,都會基於反範式化的設計。

三、字段屬性

合適的字段類型對於高性能來說非常重要,基本原則如下:簡單的類型佔用資源更少;在可以正確存儲數據的情況下,選最小的數據類型。

1、數據類型選擇 整數類型

TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,根據數據類型範圍合理選擇即可。

實數類型

FLOAT、DOUBLE、DECIMAL,建議資金貨幣相關類型使用高精度DECIMAL存儲,或者把數據成倍擴大為整數,採用BIGINT存儲,不過處理相對麻煩。

字符類型

CHAR、VARCHAR,長度不確定建議採用VARCHAR存儲,不過VARCHAR類型需要額外開銷記錄字符串長度。CHAR適合存儲短字符,或者定長字符串,例如MD5的加密結構。

時間類型

DATETIME、TIMESTAMP,DATETIME保存大範圍的值,精度秒。TIMESTAMP以時間戳的格式,範圍相對較小,效率也相對較高,所以通常情況建議使用。

MySQL的字段類型有很多種,可以根據數據特性選擇合適的,這裡只描述常見的幾種類型。

2、基礎用法操作 數據類型

修改字段類型

ALTER TABLE ms_user_sso MODIFY state CHAR(1) DEFAULT ‘0’ ; ALTER TABLE ms_user_sso MODIFY state INT(1) DEFAULT ‘1’ COMMENT ‘狀態:0不可用,1可用’;

修改名稱位置

ALTER TABLE ms_user_sso CHANGE log_ip login_ip VARCHAR(32) AFTER update_time ; 索引使用

索引類型:主鍵索引,普通索引,唯一索引,組合索引,全文索引。這裡演示普通索引的操作。MySQL的核心模塊,後續詳說。

添加索引

ALTER TABLE ms_user_wallet ADD INDEX user_id_index(user_id) ; CREATE INDEX state_index ON ms_user_wallet(state) ;

查看索引

SHOW INDEX FROM ms_user_wallet;

刪除索引

DROP INDEX state_index ON ms_user_wallet ;

修改索引

不具有真正意義上的修改,可以把原有的索引刪除之後,再次添加索引。

外鍵關聯

用處:外鍵關聯的作用保證多個數據表的數據一致性和完整性,建表時先有主表,後有從表;刪除數據表,需要先刪從表,再刪主表。複雜場景不建議使用,實際開發中用的也不多。

添加外鍵

ALTER TABLE ms_user_wallet ADD CONSTRAINT user_id_out_key FOREIGN KEY(user_id) REFERENCES ms_user_center(id) ;

刪除外鍵

ALTER TABLE ms_user_wallet DROP FOREIGN KEY user_id_out_key ; 四、表結構管理 1、查看結構 DESC ms_user_status ; SHOW CREATE TABLE ms_user_status ; 2、字段結構 添加字段 ALTER TABLE ms_user_status ADD `delete_time` datetime DEFAULT NULL COMMENT ‘刪除時間’ ; 刪除字段 ALTER TABLE ms_user_status DROP COLUMN delete_time ; 3、修改表名 ALTER TABLE ms_user_center RENAME ms_user_info ; 4、存儲引擎 存儲引擎 SELECT VERSION() ; SHOW ENGINES ;

MySQL 5.6 支持的存儲引擎有InnoDB、MyISAM、Memory、Archive、CSV、BLACKHOLE等。一般默認使用InnoDB,支持事務管理。該模塊MySQL核心,後續詳解。

修改引擎

數據量大的場景下,存儲引擎修改是一個難度極大的操作,容易會導致表的特性變動,引起各種後續反應,後續會詳說。

ALTER TABLE ms_user_sso ENGINE = MyISAM ; 5、修改編碼

表字符集默認使用utf8,通用,無亂碼風險,漢字3位元組,英文1位元組,utf8mb4是utf8的超集,有存儲4位元組例如表情符號時使用。

查看編碼 SHOW VARIABLES LIKE ‘character%’; 修改編碼 ALTER TABLE ms_user_sso DEFAULT CHARACTER SET utf8mb4; 五、數據管理 1、增刪改查

添加數據

INSERT INTO ms_user_sso ( user_id,sso_id,sso_code,create_time,update_time,login_ip,state ) VALUES ( ‘1’,’SSO7637267′,’SSO78631273612′, ‘2019-12-24 11:56:57′,’2019-12-24 11:57:01′,’127.0.0.1′,’1’ );

更新數據

UPDATE ms_user_sso SET user_id = ‘1’,sso_id = ‘SSO20191224’,sso_code = ‘SSO20191224’, create_time = ‘2019-11-24 11:56:57’,update_time = ‘2019-11-24 11:57:01’, login_ip = ‘127.0.0.1’,state = ‘1’ WHERE user_id = ‘1’;

查詢數據

一般情況下都是禁止使用 select* 操作。

SELECT user_id,sso_id,sso_code,create_time,update_time,login_ip,state FROM ms_user_sso WHERE user_id = ‘1’;

刪除數據

DELETE FROM ms_user_sso WHERE user_id = ‘2’ ;

不帶where條件,就是刪除全部數據。原則上不允許該操作,優化篇會詳解。TRUNCATE TABLE也是清空表數據,但是佔用的資源相對較少。

2、數據安全 不可逆加密

這類加密算法,多用來做數據驗證操作,比如常見的密碼驗證。

SELECT MD5(‘cicada’)=’94454b1241ad2cfbd0c44efda1b6b6ba’ ; SELECT SHA(‘cicada’)=’0501746a2e4fd34e1d14015fc4d58309585edc7d’; SELECT PASSWORD(‘smile’)=’*B4FB95D86DCFC3F33A3852714DC742C77504479D’ ; 可逆加密

安全性要求高的系統,需要做三級等保,對數據的安全性極高,數據在存儲時必須加密入庫,取出時候需要解密,這些就需要可逆加密。

SELECT DECODE(ENCODE(‘123456′,’key_salt’),’key_salt’) ; SELECT AES_DECRYPT(AES_ENCRYPT(‘cicada’,’salt123′),’salt123′);

上述數據安全的管理,也可以基於應用系統的服務(代碼)層進行處理,相對專業的流程是從數據生成源頭處理,規避數據傳遞過程泄露,造成不必要的風險。

mysql如何進入數據庫查看所有表

1.查看數據庫,選中使用數據庫,並查看數據庫表,具體操作命令如下:

show databases;

use student;

show tables;

2.選擇student數據庫中的一張表stu_score,查看數據庫表數據,並利用explain分析數據庫表,如下圖所示:

select * from stu_score;

explain select * from stu_score;

3.查看數據庫使用索引的情況,使用命令:

show status like ‘Handler_read%’;

4.用於分析和存儲表的關鍵字,分析的結果可以得到精準的信息,利用命令analyze,

analyze table stu_score;

5.檢查數據庫表stu_score,檢查表是否有錯誤,利用命令:

check table stu_score;

6.優化數據庫表,利用命令:

optimize table stu_score;

擴展資料:

可以使用命令行工具管理 MySQL 數據庫(命令 mysql 和 mysqladmin),也可以從 MySQL 的網站下載圖形管理工具 MySQL Administrator, MySQL Query Browser 和 MySQL Workbench。

phpMyAdmin是由 php 寫成的 MySQ L資料庫系統管理程程序,讓管理者可用 Web 界面管理 MySQL 資料庫。

phpMyBackupPro也是由 PHP 寫成的,可以透過 Web 界面創建和管理數據庫。它可以創建偽 cronjobs,可以用來自動在某個時間或周期備份 MySQL 數據庫。

另外,還有其他的 GUI 管理工具,例如 mysql-front 以及 ems mysql manager, navicat等等。

mysql數據庫管理工具navicat for mysql怎麼用

首先要連接數據庫,打開navicat for mysql,點擊文件—-新建連接

在出現的連接設置裏面,有很多選項都是針對需要連接的數據庫的賬號信息

設置好連接數據庫的參數之後,點擊下方的「連接」如圖出現「連接成功」即設置成功

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/197282.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-03 13:29
下一篇 2024-12-03 13:29

相關推薦

  • 如何修改mysql的端口號

    本文將介紹如何修改mysql的端口號,方便開發者根據實際需求配置對應端口號。 一、為什麼需要修改mysql端口號 默認情況下,mysql使用的端口號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python 常用數據庫有哪些?

    在Python編程中,數據庫是不可或缺的一部分。隨着互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的數據庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝數據庫方案

    本文將介紹在openeuler操作系統中安裝數據庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟件源 sudo…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL數據庫 在使用Python操作MySQL之前,我們需要先連接MySQL數據庫。在Python中,我…

    編程 2025-04-29
  • 數據庫第三範式會有刪除插入異常

    如果沒有正確設計數據庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係數據庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • leveldb和unqlite:兩個高性能的數據庫存儲引擎

    本文將介紹兩款高性能的數據庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

    編程 2025-04-28
  • Python怎麼導入數據庫

    Python是一種高級編程語言。它具有簡單、易讀的語法和廣泛的庫,讓它成為一個靈活和強大的工具。Python的數據庫連接類型可以多種多樣,其中包括MySQL、Oracle、Post…

    編程 2025-04-28
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • MySQL左連接索引不生效問題解決

    在MySQL數據庫中,經常會使用左連接查詢操作,但是左連接查詢中索引不生效的情況也比較常見。本文將從多個方面探討MySQL左連接索引不生效問題,並給出相應的解決方法。 一、索引的作…

    編程 2025-04-28

發表回復

登錄後才能評論