久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

MySQL數據庫基本操作的示例分析

148次閱讀
沒有評論

共計 5645 個字符,預計需要花費 15 分鐘才能閱讀完成。

這篇文章主要介紹了 MySQL 數據庫基本操作的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓丸趣 TV 小編帶著大家一起了解一下。

一、數據庫的安裝

這個就不在這里過多闡述了,因為網上實在是太多安裝 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(id INT(11),
 name VARCHAR(12),
 age INT(11)
 );

注釋:SHOW TABLES 查詢數據庫底下的所有表。

1.2、創建有約束的 student 表

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

1.2.1:主鍵約束

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

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

單字段主鍵約束

兩種方式都可以

CREATE TABLE student(CREATE TABLE student(

id INT(11) PRIMARY KEY, id INT(11),

name VARCHAR(12), name VARCHAR(12),

age INT(11) age INT(11),

); PRIMARY KEY(id) );

多字段主鍵約束(復合主鍵)

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

CREATE TABLE student(CREATE TABLE student(

id INT(11) PRIMARY KEY, id INT(11),

name VARCHAR(12) PRIMARY KEY, name VARCHAR(12),

age INT(11) age INT(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

DESCRIBE student; 

 

 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;

MySQL 數據庫基本操作的示例分析

3.2、修改表中的字段名

格式:ALTER TABLE 表名 CHANGE 舊字段名 新字段名 新數據類型

將 student 表中的 name 字段名改為 username

ALTER TABLE student CHANGE name username VARCHAR(30);

MySQL 數據庫基本操作的示例分析

3.3、修改表中的數據類型

格式:ALTER TABLE 表名 MODIFY 字段名 數據類型

ALTER TABLE student MODIFY username VARCHAR(20);

MySQL 數據庫基本操作的示例分析

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

3.4、修改字段的排列位置

方式 1:ALTER TABLE 表名 MODIFY 字段 1 數據類型 FIRST|AFTER 字段 2

解釋:將字段 1 的位置放到第一,或者放到指定字段 2 的后面

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

MySQL 數據庫基本操作的示例分析

方式 2:ALTER TABLE 表名 CHANGE 字段 1 字段 2 數據類型 FIRST|AFTER 字段 3

解釋:其實是一樣的,將是字段 2 覆蓋字段 1,然后在進行排序

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

MySQL 數據庫基本操作的示例分析

總結

CHANGE 和 MODIFY 的區別?

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

3.5、添加字段

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

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

ALTER TABLE student ADD sex VARCHAR(11);

MySQL 數據庫基本操作的示例分析

3.6、刪除字段

格式:ALTER TABLE 表名稱 DROP 字段名

ALTER TABLE student DROP sex;

MySQL 數據庫基本操作的示例分析

3.7、刪除表的外鍵約束

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

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

3.8、更改表的存儲引擎

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

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

4、刪除表

4.1、刪除無關聯表

格式:DROP TABLE 表名;

ALTER TABLE student;

MySQL 數據庫基本操作的示例分析

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

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

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

感謝你能夠認真閱讀完這篇文章,希望丸趣 TV 小編分享的“MySQL 數據庫基本操作的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持丸趣 TV,關注丸趣 TV 行業資訊頻道,更多相關知識等著你來學習!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-01發表,共計5645字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 湄潭县| 炎陵县| 蕲春县| 澄江县| 叶城县| 大港区| 连城县| 乌兰浩特市| 宿松县| 阜平县| 四川省| 高青县| 治多县| 海口市| 宁蒗| 丰原市| 六安市| 彩票| 合肥市| 陆良县| 高清| 南陵县| 卢氏县| 通江县| 民丰县| 巍山| 陇西县| 北辰区| 石渠县| 保康县| 仙居县| 棋牌| 永川市| 桐柏县| 溧水县| 阜城县| 义马市| 滦平县| 株洲市| 淳化县| 休宁县|