當前位置:首頁 » 數據倉庫 » 查看mysql資料庫類型
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

查看mysql資料庫類型

發布時間: 2022-05-25 04:37:27

A. 如何查看mysql資料庫

查看當前使用的資料庫,可使用如下命令
mysql> select database(); #使用函數database()
mysql> show tables; #列頭信息中可看出當前使用的db,格式為:Tables_in_[db_name]
mysql> status; #注意結果中的"Current database:"信息

查看系統中有哪些資料庫,
mysql> show databases;
更換當前使用的資料庫,
mysql> use db_name;

返回當前資料庫下的所有表的名稱
mysql> show tables;
或者直接用如下命令
mysql> show tables from db_name;

查看錶結構,可使用如下命令
mysql> desc 表名;
mysql> describe 表名;
mysql> show columns from 表名;
mysql> show create table 表名;
或者,
mysql> use information_schema
mysql> select * from columns where table_name='表名';

15個 MySQL 菜鳥問題

問題1:你如何確定 MySQL 是否處於運行狀態?
答案: Debian 上運行命令 service mysql status,在RedHat 上運行命令 service mysqld status。然後看看輸出即可。

問題2:如何開啟或停止 MySQL 服務?
答案:運行命令 service mysqld start 開啟服務;運行命令 service mysqld stop 停止服務。

問題3:如何通過 Shell 登入 MySQL?
答案:運行命令 mysql -u root -p

問題4:如何列出所有資料庫?
答案:運行命令 show databases;

問題5: 如何切換到某個資料庫並在上面工作?
答案:運行命令 use database_name; 進入名為 database_name 的資料庫。

問題6:如何列出某個資料庫內所有表?
答案:在當前資料庫運行命令 show tables;

問題7:如何獲取表內所有 Field 對象的名稱和類型?
答案:運行命令 describe table_name;

問題8:如何刪除表?
答案:運行命令 drop table table_name;

問題9:如何刪除資料庫?
答案:運行命令 drop database database-name;

問題10:如何查看錶內所有數據?
答案:運行命令 select * from table_name;

問題11:如何從表(比如 oc_users )中獲取一個 field 對象(比如 uid)的所有數據?
答案:運行命令 select uid from oc_users;

問題12:假設你有一個名為 『xyz』 的表,它存在多個欄位,如 『createtime』 和 『engine』。名為 engine 的欄位由 『Memoty』 和 『MyIsam』 兩種數值組成。如何只列出 『createtime』 和 『engine』 這兩列並且 engine 的值為 『MyIsam』?
答案:運行命令 select create_time, engine from xyz where engine = 」MyIsam」;

問題13:如何列出表 『xrt』 內 name 域值為 『tecmint』,web_address 域值為 『tecmint.com』 的所有數據?
答案:運行命令 select * from xrt where name = 「tecmint」 and web_address = 「tecmint.com」;

問題14:如何列出表 『xrt』 內 name 域值不為 『tecmint』,web_address 域值為 『tecmint.com』 的所有數據?
答案:運行命令 select * from xrt where name != "tecmint" and web_address = "tecmint.com";

問題15:如何知道表內行數?
答案:運行命令 select count(*) from table_name;

B. 怎麼查看ubuntu mysql資料庫

1、列出當前用戶可查看的所有資料庫:SHOW DATABASES。

C. MySQL資料庫基礎+ 資料庫的基本操作

需要用的資料以鏈接的形式給需要的同學。

我用的mysql版本為: Mysql-5.5.45-win64.msi 密碼是:26zw

圖形化工具 Navicat(前期不推薦用,直接手動敲): Navicat 密碼:c7fs

開始我的MySQL之旅吧 始於2016.12.04

--WH

一、資料庫的安裝

這個就不在這里過多闡述了,因為網上實在是太多安裝mysql的教程了,有了我給的mysql,在按照這個安裝教程(MySQL安裝教程)去看,就能夠安裝完好。

安裝好mysql後,如果需要使用windows命令窗口(也就是cmd)來操作mysql,那麼就需要配置環境變數,在安裝好的mysql下找到bin,將其目錄放到環境變數path中去,就行了,檢測成功與否的方法是在cmd命令窗口中輸入mysql,就會出現一大段英文,就說明成功了,反之失敗,如果不會的話就去網路搜教程。

二、資料庫的基本操作

1、開啟mysql服務命令

net start mysql

2、進入mysql的兩種方式

明文進入:mysql -uroot -proot格式:mysql -u帳號-p密碼

密文進入:mysql -uroot -p 按enter會提示你輸入密碼(Enter pssword:),此時你寫的密碼就會顯示為***這樣。

3、查看mysql中所有的資料庫(一般在固定的單詞命令就會是用大寫,這個要習慣,看多了敲多了就認識了)

前面四個資料庫是mysql中自帶的,也就是必須的.

SHOW DATABASES;

4、創建名為test_1的資料庫

格式:CREATE DATABASE 資料庫名

CREATE DATABASE test_1;

5、刪除名為test_1的資料庫

格式:DROP DATABASE 資料庫名

DROP DATABASE test_1;

總結:學習了對資料庫的三個操作,1、查看所有資料庫 2、創建資料庫 3、刪除資料庫

三、數據表的基本操作

數據表和資料庫還有Mysql三者的關系

mysql中保存了很多資料庫、一個資料庫中可以保存很多表。

對數據表的增(創建表)刪(刪除表)改(修改表欄位)查(查詢表結構)。 注意:這里的操作對象是表,對表的操作也就是表的結構,和表中的欄位的操作(欄位和記錄要分清楚)

前提:表是在資料庫下的,所以要先確實使用哪個資料庫。

USE test_1;

1、創建數據表

格式:CREATE TABLE 數據表名(

欄位名1數據類型[列級別約束條件],

欄位名2數據類型[列級別約束條件],

欄位名3數據類型[列級別約束條件]

);

注意:格式不一定需要這樣隔著寫,完全可以全部寫成一行。但是那樣寫可觀性非常差。我這樣寫只是為了可以看的更清晰。

解釋:

1、[]中括弧中的內容表示可以有可以沒有,

2、列級別這個「列」一定要搞清楚說的是什麼,一張表中有行有列,列表示豎,行表示橫

3、約束條件後面會講到

1.1、創建沒有約束的student表
CREATE TABLE student( idINT(11), nameVARCHAR(12), ageINT(11) );

注釋:SHOW TABLES 查詢資料庫底下的所有表。

1.2、創建有約束的student表

六大約束:主鍵約束、外鍵約束、非空約束、唯一約束、默認約束、自動增加

1.2.1:主鍵約束

PRIMARY KEY(primary key):獨一無二(唯一)和不能為空(非空),通俗的講,就是在表中增加記錄時,在該欄位下的數據不能重復,不能為空,比如以上面創建的表為例子,在表中增加兩條記錄,如果id欄位用了主鍵約束。則id不能一樣,並且不能為空。一般每張表中度有一個欄位為主鍵,唯一標識這條記錄。以後需要找到該條記錄也可以同這個主鍵來確認記錄,因為主鍵是唯一的,並且非空,一張表中每個記錄的主鍵度不一樣,所以根據主鍵也就能找到對應的記錄。而不是多條重復的記錄。如果沒有主鍵,那麼表中就會存在很多重復的記錄,那麼即浪費存儲空間,在查詢時也消耗更多資源。

一般被主鍵約束了的欄位度習慣性的稱該欄位為該表的主鍵

單欄位主鍵約束

兩種方式都可以

CREATE TABLE student(CREATE TABLE student(

idINT(11) PRIMARY KEY,idINT(11),

nameVARCHAR(12),nameVARCHAR(12),

ageINT(11) ageINT(11),

);PRIMARY KEY(id) );

多欄位主鍵約束(復合主鍵)

這個id和name都市主鍵,說明在以後增加的插入的記錄中,id和name不能同時一樣,比如說可以是這樣。一條記錄為id=1,name=yyy、另一條記錄為:id=1,name=zzz。 這樣是可以的。並不是你們所理解的兩個欄位分別度不可以相同。

CREATE TABLE student(CREATE TABLE student(

idINT(11) PRIMARY KEY,idINT(11),

nameVARCHAR(12) PRIMARY KEY,nameVARCHAR(12),

ageINT(11)ageINT(11),

);PRIMARY KEY(id,name) );

1.2.2:外鍵約束

什麼是外鍵舉個例子就清楚了,有兩張表,一張表是emp(員工)表,另一張表是dept(部門)表,一個員工屬於一個部門,那麼如何通過員工能讓我們自己他在哪個部門呢?那就只能在員工表中增加一個欄位,能代表員工所在的部門,那該欄位就只能是存儲dept中的主鍵了(因為主鍵是唯一的,才能確實是哪個部門,進而代表員工所在的部門,如果是部門名稱,有些部門的名稱可能是同名。就不能區分了。),像這樣的欄位,就符合外鍵的特點,就可以使用外鍵約束,使該欄位只能夠存儲另一張表的主鍵。如果不被外鍵約束,那麼該欄位就無法保證存儲進來的值就一定是另一張表的主鍵值。

外鍵約束的特點:

1、外鍵約束可以描述任意一個欄位(包括主鍵),可以為空,並且一個表中可以有多個外鍵。但是外鍵欄位中的值必須是另一張表中的主鍵。

2、這樣被外鍵關聯的兩種表的關系可以稱為父子表或者主從表。子表(從表)擁有外鍵欄位的表,父表(主表)被外鍵欄位所指向的表。

3、子表被外鍵約束修飾的欄位必須和父表的主鍵欄位的類型一樣。

注意:一個表中有被外鍵修飾的欄位,就稱該表有外鍵(是「有外鍵」。而不是「是外鍵」),並會給該表中的外鍵約束取一個名稱,所以我們常說的這個表有沒有外鍵,指的不是被外鍵約束修飾的欄位名,而是指這個表是否有存在外鍵約束。也就是說,不能說這個表的外鍵是xxx(該表中被外鍵約束修飾的欄位名),這種說法是錯誤的,但是大多數人已經習慣了這樣,雖然影響不大,但是在很多時候需要理解一個東西時,會造成一定的困擾。

格式:CONSTRAINT外鍵名稱FOREIGN KEY(被外鍵約束的欄位名稱)REFERENCES 主表名(主鍵欄位)

英文解釋:CONSTRAINT:約束REFERENCES:參考

CREATE TABLE tableA
(
id INT(11),
name VARCHAR(22),
location VARCHAR(50),
PRIMARY KEY(id)
);
CREATE TABLE tableB
(
id INT(11),
name VARCHAR(22) NOT NULL,
deptId INT(11),
PRIMARY KEY(id),
CONSTRAINT tableA_tableB_1 FOREIGH KEY(deptId) REFERENCES tableA(id)
);

解釋:tableB中有一個名為tableA_tableB_1的外鍵關聯了tableA和tableB兩個表,被外鍵約束修飾的欄位為tableB中的deptId,主鍵欄位為tableA中的id

1.2.3:非空約束

NOT NULL. 被該約束修飾了的欄位,就不能為空,主鍵約束中就包括了這個約束

CREATE TABLE tableA
(
id INT(11),
name VARCHAR(22) NOT NULL,
location VARCHAR(50),
PRIMARY KEY(id)
);

1.2.4:唯一約束

UNIQUE 被唯一約束修飾了的欄位,表示該欄位中的值唯一,不能有相同的值,通俗點講,就好比插入兩條記錄,這兩條記錄中處於該欄位的值不能是一樣的。

CREATE TABLE tableA
(
id INT(11),
name VARCHAR(22) UNIQUE,
location VARCHAR(50),
PRIMARY KEY(id)
);

也就是說在插入的記錄中,每條記錄的name值不能是一樣的。

1.2.5:默認約束

Default 指定這一列的默認值為多少,比如,男性同學比較多,性別就可以設置為默認男,如果插入一行記錄時,性別沒有填,那麼就默認加上男

CREATE TABLE table
(
id INT(11) PRIMARY KEY,
name VARCHAR(22) NOT NULL,
deptId INT(11) DEFAULT 1111,
salary FLOAT
);

1.2.6:自動增加

AUTO_INCREMENT 一個表只能一個欄位使用AUTO_INCREMENT,並且使用這個約束的欄位只能是整數類型(任意的整數類型 TINYINT,SMALLIN,INT,BIGINT),默認值是1,也就是說從1開始增加的。一般就是給主鍵使用的,自動增加,使每個主鍵的值度不一樣,並且不用我們自己管理,讓主鍵自己自動生成
CREATE TABLE table ( id INT(11) PRIMARY KEY AUTO_INCREMENT, name VARCHAR(22) NOT NULL );
2、查詢表結構

2.1、查看錶基本結構語句

格式1:DESCRIBE 表名/DESC 表名這兩個的功能是一樣的,簡寫了單詞describe

DESCRIBEstudent;

2.2、查看創建表的語句

格式:SHOW CREATE TABLE 表名

SHOW CREATE TABLE student;

這樣顯示的格式很不好,看不清楚,所以有了下面這個語句

格式:SHOW CREATE TABLE 表名\G

SHOW CREATE TABLE student\G;

3、修改數據表

修改數據表包括:對表中欄位的增加、刪除、修改。 在這個裡面用的關鍵字為 ALTER

3.1、修改表名

格式:ALTER TABLE<舊表名> RENAME[TO]<新表名>;

將student表名改為student1(改完後在改回來)

ALTER TABLE student RENAME TO student1;

3.2、修改表中的欄位名

格式:ALTER TABLE<表名> CHANGE<舊欄位名><新欄位名><新數據類型>

將student表中的name欄位名改為 username

ALTER TABLE student CHANGE name username VARCHAR(30);

3.3、修改表中的數據類型

格式:ALTER TABLE<表名> MODIFY<欄位名><數據類型>

ALTER TABLE student MODIFY username VARCHAR(20);

解釋:只能修改欄位名的數據類型,但是其原理跟上面change做的事情一樣,這里也有修改欄位名的過程,只不過修改後的欄位名和修改前的欄位名相同,但是數據類型不一樣。

3.4、修改欄位的排列位置

方式1:ALTER TABLE<表名> MODIFY<欄位1><數據類型> FIRST|AFTER<欄位2>

解釋:將欄位1的位置放到第一,或者放到指定欄位2的後面

ALTER TABLE student MODIFY username VARCHAR(20) AFTER age;

方式2:ALTER TABLE<表名> CHANGE<欄位1><欄位2><數據類型> FIRST|AFTER<欄位3>

解釋:其實是一樣的,將是欄位2覆蓋欄位1,然後在進行排序

ALTER TABLE student CHANGE username username VARCHAR(20) AFTER age;

總結

CHANGE和MODIFY的區別?

原理都市一樣的,MODIFY只能修改數據類型,但是CHANGE能夠修改數據類型和欄位名,也就是說MODIFY是CHANGE的更具體化的一個操作。可能覺得用CHANGE只改變一個數據類型不太爽,就增加了一個能直接改數據類型的使用關鍵字MODIFY來操作。

3.5、添加欄位

格式:ALTER TABLE<表名稱> ADD<新欄位名><數據類型>[約束條件][FIRST|AFTER<已存在的表名>]

解釋:在一個特定位置增加一個新的欄位,如果不指定位置,默認是最後一個。

ALTER TABLE student ADD sex VARCHAR(11);

3.6、刪除欄位

格式:ALTER TABLE<表名稱> DROP<欄位名>;

ALTER TABLE student DROP sex;

3.7、刪除表的外鍵約束

格式:ALTER TABLE<表名稱> DROP FOREIGN KEY<外鍵約束名>

注意:外鍵約束名 指的不是被外鍵約束修飾的欄位名,切記,而是我們在創建外鍵約束關系時取的名字。

3.8、更改表的存儲引擎

格式:ALTER TABLE<表名> ENGINE=<更改後的存儲引擎名>

這個存儲引擎目前我自己也不太清楚,雖然知道有哪幾種引擎,但是稍微深入一點就不清楚了,所以打算留到日後在說。

4、刪除表

4.1、刪除無關聯表

格式:DROP TABLE<表名>;

ALTER TABLE student;

4.2、刪除被其他表關聯的主表

這個是比較重要的一點,在有外鍵關聯關系的兩張表中,如果刪除主表,那麼是刪不掉的,並且會報錯。因為有張表依賴於他。那怎麼辦呢?針對這種情況,總共有兩種方法

1、先刪除你子表,然後在刪除父表,這樣就達到了刪除父表的目的,但是子表也要被刪除
2、先解除外鍵關系,然後在刪除父表,這樣也能達到目的,並且保留了子表,只刪除我們不需要的父表。在3.7中就講解了如何刪除外鍵關系。

D. MYSQL資料庫中,常見的數據類型有哪些

Mysql支持的多種數據類型主要有:數值數據類型、日期/時間類型、字元串類型。 1.整數數據類型及其取值范圍:

類型
說明
存儲需求(取值范圍)

tinyint 很小整數 1位元組([0~255]、[-128~127]); 255=2^8-1;127=2^7-1
smallint 小整數 2位元組(0~65535、-32768~32767) ;65535=2^16-1
mediumint 中等 3位元組(0~16777215) ;16777215=2^24-1
int(integer) 普通 4位元組(0~4294967295) ;4294967295=2^32-1
bigint 大整數 8位元組(0~18446744073709551615);18446744073709551615=2^64-1
浮點數&定點數:

E. 怎麼查看mysql創建的資料庫

1、//看當前使用的是哪個資料庫 ,如果你還沒選擇任何資料庫,結果是NULL。mysql>select database(); +------------+ | DATABASE() | +------------+ | menagerie | +------------+
2、//查看有哪些資料庫 mysql> show databases;
+--------------------+| Database | +--------------------+ | information_schema | | mysql | | test | +--------------------+
3、//選擇資料庫 mysql>use test; //;號可有可無,必須單行使用.
4、為了找出當前的資料庫包含什麼表(例如,當你不能確定一個表的名字),使用這個命令:
5、//看資料庫里有哪些表mysql>show tables;
+---------------------+| Tables in menagerie | +---------------------+ | event | | pet | +---------------------+ 如果你想要知道一個表的結構,可以使用DESCRIBE命令;它顯示表中每個列的信息:
6、//看錶里有哪些列mysql> describe pet;
+---------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | name | varchar(20) | YES | | NULL | | | owner | varchar(20) | YES | | NULL | | | species | varchar(20) | YES | | NULL | | | *** | char(1) | YES | | NULL | | | birth | date | YES | | NULL | | | death | date | YES | | NULL | | +---------+-------------+------+-----+---------+-------+ Field顯示列名字,Type是列的數據類型,Null表示列是否能包含NULL值,Key顯示列是否被索引而Default指定列的默認值。 如果表有索引,SHOW INDEX FROM tbl_name生成有關索引的信息。 刪除資料庫.
mysql>drop database test;

F. 怎麼使用mysql workbench 查詢mysql資料庫

有兩種方法,一種方法使用mysql的check table和repair table 的sql語句,另一種方法是使用MySQL提供的多個myisamchk, isamchk數據檢測恢復工具。前者使用起來比較簡便。推薦使用。
1. check table 和 repair table
登陸mysql 終端:
mysql -uxxxxx -p dbname
check table tabTest;
如果出現的結果說Status是OK,則不用修復,如果有Error,可以用:
repair table tabTest;
進行修復,修復之後可以在用check table命令來進行檢查。在新版本的phpMyAdmin裡面也可以使用check/repair的功能。
2. myisamchk, isamchk
其中myisamchk適用於MYISAM類型的數據表,而isamchk適用於ISAM類型的數據表。這兩條命令的主要參數相同,一般新的系統都使用MYISAM作為預設的數據表類型,這里以myisamchk為例子進行說明。當發現某個數據表出現問題時可以使用:
myisamchk tablename.MYI
進行檢測,如果需要修復的話,可以使用:
myisamchk -of tablename.MYI
關於myisamchk的詳細參數說明,可以參見它的使用幫助。需要注意的時在進行修改時必須確保MySQL伺服器沒有訪問這個數據表,保險的情況下是最好在進行檢測時把MySQL伺服器Shutdown掉。
另外可以把下面的命令放在你的rc.local裡面啟動MySQL伺服器前:
[ -x /tmp/mysql.sock ] && /pathtochk/myisamchk -of /DATA_DIR/*/*.MYI
其中的/tmp/mysql.sock是MySQL監聽的Sock文件位置,對於使用RPM安裝的用戶應該是/var/lib/mysql/mysql.sock,對於使用源碼安裝則是/tmp/mysql.sock可以根據自己的實際情況進行變更,而pathtochk則是myisamchk所在的位置,DATA_DIR是你的MySQL資料庫存放的位置。
需要注意的時,如果你打算把這條命令放在你的rc.local裡面,必須確認在執行這條指令時MySQL伺服器必須沒有啟動!檢測修復所有資料庫(表)

G. mysql 怎麼查看創建的資料庫和表

方法:
查看資料庫表的創建時間可以在information_schema中查看
information_schema資料庫表說明:
schemata表:提供了當前mysql實例中所有資料庫的信息。是show
databases的結果取之此表。
tables表:提供了關於資料庫中的表的信息(包括視圖)。詳細表述了某個表屬於哪個schema,表類型,表引擎,創建時間等信息。是show
tables
from
schemaname的結果取之此表。
資料庫表的創建時間在tables表中的create_time欄位
select create_time from tables where table_schema='資料庫名' and table_name='表名';
將上面的資料庫名以及表名替換為所要查詢的數據即可。

H. 如何看mysql都有哪些資料庫

第一步:首先是查看mysql資料庫的埠號,使用命令show
第二步:查看有哪些資料庫,
第三步:查看mysql資料庫所有用戶,
第四步:查看某個資料庫中所有的表

I. MySQL查詢結果中顯示數據類型

你好

這個要看你使用的是什麼客戶端工具了

有的客戶端工具會提供部分的數據類型信息,如下圖所示

123 就是數字型

abc就是字元串

等等吧

望採納

J. MySQL如何創建資料庫並查詢數據類型

  • 1、//看當前使用的是哪個資料庫,如果你還沒選擇任何資料庫,結果是NULL。
    mysql>select database();
    +------------+
    | DATABASE() |
    +------------+
    | menagerie |
    +------------+

  • 2、//查看有哪些資料庫
    mysql>show databases;

  • +--------------------+
    | Database |
    +--------------------+
    | information_schema |
    | mysql |
    | test |
    +--------------------+


  • 3、//選擇資料庫
    mysql>usetest;//;號可有可無,必須單行使用.


  • 4、為了找出當前的資料庫包含什麼表(例如,當你不能確定一個表的名字),使用這個命令:

  • 5、//看資料庫里有哪些表
    mysql>show tables;

  • +---------------------+
    | Tables in menagerie |
    +---------------------+
    | event |
    | pet |
    +---------------------+
    如果你想要知道一個表的結構,可以使用DESCRIBE命令;它顯示表中每個列的信息:

  • 6、//看錶里有哪些列
    mysql> describe pet;

  • +---------+-------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +---------+-------------+------+-----+---------+-------+
    | name | varchar(20) | YES | | NULL | |
    | owner | varchar(20) | YES | | NULL | |
    | species | varchar(20) | YES | | NULL | |
    | *** | char(1) | YES | | NULL | |
    | birth | date | YES | | NULL | |
    | death | date | YES | | NULL | |
    +---------+-------------+------+-----+---------+-------+
    Field顯示列名字,Type是列的數據類型,Null表示列是否能包含NULL值,Key顯示列是否被索引而Default指定列的默認值。

    如果表有索引,SHOW INDEX FROM tbl_name生成有關索引的信息。

    刪除資料庫.

  • mysql>drop database test;