MySQL入門命令

我主要是在維護OpenStack云平臺的時候會涉及MySQL數據庫的操作,這里就跟大家分享一下常用的簡單命令,也為自己做個小練習。

? ? 1.登錄MySQL數據庫

mysql -h localhost -u root -p 123456

其中,-h:mysql服務器的IP地址或主機名,如果是本機登錄,該選項可以省略;

? ? ? ? ??-u:登錄用戶名

? ? ? ? ? -p:登錄用戶對應的登錄密碼

? ?

 2.查看數據庫

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
+--------------------+
3 rows in set (0.00 sec)

 

 3.刪除數據庫

命令格式:DROP DATABASE 數據庫名;

mysql> drop database test;
Query OK, 0 rows affected (0.00 sec)mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
+--------------------+
2 rows in set (0.00 sec)

 

 4.創建數據庫

命令格式:CREATE DATABASE 新建數據庫名;

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
+--------------------+
2 rows in set (0.00 sec)mysql> create database test;
Query OK, 1 row affected (0.00 sec)mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
+--------------------+
3 rows in set (0.00 sec)

? ?

 5.選定操作數據庫

命令格式:USE 數據庫名;

mysql> use test;
Database changed

? ?

 ?6.在選定的數據庫中創建表單

? ? table的創建其實不是個簡單的操作,涉及實體完整性、參照完整性等條件,下面對常用命令進行下介紹。

 1)創建table

 命令格式:CREATE TABLE 表名

? ? ? ? ? ? ? ->(

? ? ? ? ? ? ? ->列名1 數據類型(完整性約束條件),

? ? ? ? ? ? ? ->列名2 數據類型(完整性約束條件),

? ? ? ? ? ? ? ->列名3 數據類型(完整性約束條件)

? ? ? ? ? ? ? ->);

mysql> create table students(id int(10),name char(20),sex char(10));
Query OK, 0 rows affected (0.07 sec)mysql> create table course(id int(10),name char(20));
Query OK, 0 rows affected (0.07 sec)

上述示例中,完整性約束條件為數據長度,屬于比較簡單的一種。

 2)完整性約束條件說明

PRIMARY KEY標識該屬性為該表的主鍵,可以唯一標識一組記錄
FOREIGN KEY標識該屬性為該表的外鍵,是與該表形成關聯的某一表的主鍵
NOT NULL標識該屬性的值不能為空
UNIQUE標識該屬性的值是唯一的
AUTO_INCREMENT標識該屬性的值是自動增加的
DEFAULT為該屬性設置默認值

?

?

?

?

?

?

 3)設置table的主鍵

 單字段主鍵格式:列名 數據類型 PRIMARY KEY,或者如多字段主鍵格式

mysql> create table course(id int(10) PRIMARY KEY,name char(20));
Query OK, 0 rows affected (0.08 sec)

或者

mysql>create table course(id int(10),name char(20),PRIMARY KEY(id));
Query OK, 0 rows affected (0.08 sec)

 多字段主鍵格式:PRIMARY KEY(列名1,列名2,列名3......)

mysql> create table num
-> (
-> num_id int AUTO_INCREMENT NOT NULL,
-> stu_id int(10) NOT NULL,
-> name char(20) NOT NULL,
-> PRIMARY KEY(num_id,stu_id)
-> )
-> ;
Query OK, 0 rows affected (0.03 sec)

 為已存在的表格刪除主鍵:alter table 表名 drop PRIMARY KEY?

mysql> alter table score drop PRIMARY KEY;
Query OK, 0 rows affected (0.04 sec)
Records: 0  Duplicates: 0  Warnings: 0

 為已存在的表設置或重新設置主鍵:alter table 表名 add PRIMARY KEY(屬性1,屬性2......);

mysql> alter table score add PRIMARY KEY (stu_id,cour_id);
Query OK, 0 rows affected (0.06 sec)
Records: 0  Duplicates: 0  Warnings: 0

 4)設置table的外鍵

 設置外鍵命令格式:CONSTRAINT 外鍵別名 ADD FOREIGN KEY(屬性1,屬性2,....屬性n) REFERENCES 主表名(屬性1',屬性2',...屬性n');

 此處只是一個簡單的外鍵設置命令,下一篇將會詳細介紹外鍵約束設置

mysql> CREATE TABLE teacher (-> id int PRIMARY KEY,-> stu_id int,-> name varchar(20),-> CONSTRAINT STUID FOREIGN KEY(stu_id) REFERENCES student1(id)-> );
Query OK, 0 rows affected (0.00 sec)

 刪除外鍵命令格式:ALTER TABLE 表名 DROP FOREINGN KEY 外鍵名;

mysql> alter table teacher drop foreign key STUID;
Query OK, 0 rows affected (0.04 sec)
Records: 0  Duplicates: 0  Warnings: 0

 添加外鍵命令格式:ALTER TABLE 從表名 CONSTRAINT 外鍵別名 FOREIGN KEY(從表屬性1,屬性2,....屬性n) REFERENCES 主表名(屬性1',屬性2',...屬性n');

 5)設置表的非空約束

 簡單的說就是不讓這個屬性的值為空,不填的話就會報錯

 格式:屬性名 數據類型 NOT NULL

 6)設置表的唯一性約束

 就是這個屬性的值是不能重復的

 格式:屬性名 數據類型 UNIQUE

 7)設置表的屬性值自動增加

 AUTO_INCREMENT約束的字段可以是任何整數類型(TINYINT、SMALLINT、INT和BIGINT),在默認的情況下,該字段的值是從1開始自增

 格式:屬性名 數據類型 AUTO_INCREMENT

 8)設置表的屬性的默認值

 格式:屬性名 數據類型 DEFAULT 默認值

mysql> CREATE TABLE student3 (-> id int PRIMARY KEY AUTO_INCREMENT,-> teacher_id int UNIQUE,-> name varchar(20) NOT NULL,-> sex varchar(10) DEFAULT 'male'-> );
Query OK, 0 rows affected (0.01 sec)

 

 7.查看指定數據庫的所有表單

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| course         |
| students       |
+----------------+
2 rows in set (0.00 sec)

 

 8. 刪除指定數據庫中的指定表單

 執行該命令之前,必須使用USE命令選定數據庫,否則會出現會出現“No database selected”的錯誤。

 命令格式:DROP TABLE 表單名稱;

mysql> drop table course;
Query OK, 0 rows affected (0.00 sec)mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| students       |
+----------------+
1 row in set (0.00 sec)

 

 9.查看表結構

 1)查看表的基本結構

 命令格式:DESCRIBE 表名;

mysql> DESCRIBE num;
+--------+----------+------+-----+---------+----------------+
| Field  | Type     | Null | Key | Default | Extra          |
+--------+----------+------+-----+---------+----------------+
| num_id | int(11)  | NO   | PRI | NULL    | auto_increment |
| stu_id | int(10)  | NO   | PRI | NULL    |                |
| name   | char(20) | NO   |     | NULL    |                |
+--------+----------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

 2)查看表的詳細結構

 命令格式:SHOW CREATE TABLE 表名

mysql> show create table num;
+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                                                                                                       |
+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| num   | CREATE TABLE `num` (`num_id` int(11) NOT NULL AUTO_INCREMENT,`stu_id` int(10) NOT NULL,`name` char(20) NOT NULL,PRIMARY KEY (`num_id`,`stu_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 |
+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

轉載于:https://www.cnblogs.com/yy20141204bb/p/8379168.html

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

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

相關文章

【模板】分塊

題意簡述 已知一個數列,你需要進行下面兩種操作: 1.將某區間每一個數加上x 2.求出某區間每一個數的和 題解思路 對于一個長度為n的序列,我們可以講其中的元素分為\( \sqrt{n} \) 個連續的子序列,每塊的長度自然就為\( \sqrt{n} \)…

javascript --- 使用ajax與服務器進行通信

Ajax: (Asynchronous JavaScript and XML,異步JavaScript與XML技術)是一種有效利用JavaScript和DOM的操作. 與傳統HTTP請求的區別: Ajax允許只更新頁面的一部分,因此減少了響應中傳輸的數據量 Ajax的API: Ajax與服務器進行通信,可以使用JavaScript中原生的XMLHttpRequest對象…

ES6-10 super、4種遍歷方式、原型、symbol遍歷

由于現代 JavaScript 引擎優化屬性訪問所帶來的特性的關系,更改對象的 [[Prototype]]即__proto__在各個瀏覽器和 JavaScript 引擎上都是一個很慢的操作。 一 Object原型方法 1 Object.setPrototypeOf(obj, proto) 用該方法而不是直接修改__proto__返回值是設置好原…

IntelliJ IDEA使用

1:下載 ideaIU-2017.2.exe,JetbrainsCrack-2.6.2.jar(補丁) 2:安裝ideaIU-2017.2.exe,將補丁放在D:\java\intellij\IntelliJ IDEA 2017.2\bin 目錄下 3:在安裝的idea下面的bin目錄下面有2個文件 : 一個是id…

js中如何刪除json對象的某一個選項

我有一個這樣一個對象,getData, 但是我不想要每一項的id,那怎么去刪除呢(使用delete)? getData.map((item) >{delete item["id"];});console.log(getData);轉載于:https://www.cnblogs.com/mmykdbc/p/8386407.html

ES6-11 Symbol、iterator、forOf、typeArray

…剩余運算符 const obj1 {a: 1,b: 2 } const obj2 {a: 100,b: 2,c: 300 } const obj {...obj1,...obj2 } console.log(obj) // 和Object.assign(obj, obj1, obj2)結果相同[Symbol.hasInstance] Symbol構造函數上的屬性,默認調用了方法 iterator迭代器 對數…

node --- 游走在客戶端和服務器間的http

本篇文章,講述了一個很簡單的上傳圖片(/start)到本地服務器,然后路由跳轉到/upload. 寫這個程序的目的是為了幫助理解HTTP的一些基本概念及node對于http api的實現以及程序的設計模式. IP: 計算機之間的通信 TCP: 應用程序之間的通信 HTTP: 基于TCP實現的應用層協議,設計之初是…

BigDecimal踩過的大坑

通常Java中涉及金錢相關的計算為了保持精度,會采用BigDecimal來實現,但是BigDecimal中創建BigDecimal類對象的時候,如果使用直接new的話,必須是String類型的參數,否則會導致創建出來的對象不是你想要的,比如…

redis配置環境變量

直接上圖不解釋 redis安裝路徑,我的電腦右擊屬性 窗口R鍵,輸入cmd回車,輸入redis-server.exe 回車 再開一個命令窗口,窗口R鍵,輸入cmd回車,輸入 redis-cli.exe -h 127.0.0.1 -p 6379 回車 轉載于:https:/…

對轉義字符的思考

ASCII碼 計算機存儲文字時用的是二進制,ASCII碼就是一張對照表,什么字符對應什么碼,將二進制碼存儲下來0-127位表示基礎的ASCII碼0-31,和127表示非打印控制字符(如換行、回車、響鈴、文頭、文尾)32-126表示…

進程總結

進程總結 進程: 正在進行的一個過程或者說一個任務 進程是計算機中資源分配的最小單位 多進程之間的數據是隔離的 多進程是用來解決高計算型的程序用的 啟動進程的開銷比較大,其開啟數量和cpu的個數相關,正常在cpu的個數1-2倍之間 進程越多&a…

debian如何安裝Let's Encrypt

如果python默認版本不是2,刪除 /usr/bin/python 添加軟引用 in -s /usr/bin/python2 /usr/bin/python 第一步,卸載virtualenv apt-get purge python-virtualenv python3-virtualenv virtualenv 如果pip沒有就安裝pip apt-get install python-pip pip …

算法 --- 判斷某個值是否在二叉搜索樹中

function funA(root, k) {if(root null) {return false} else {if(k root.val) {return true } else {if( k < root.val) {return funA(root.left, k)} else {return funA(root.right, k)}}} }

ES6-12 array/數值拓展、ArrayOf、ArrayFrom

要使用…須有迭代器接口 數組方法 構造器上的方法 Array.of()聲明數組 替代new Array()的方式聲明數組new Array()不傳參數返回空數組&#xff0c;只傳1個參數時&#xff0c;代表數組長度&#xff0c;內容用empty填充&#xff0c;傳多個參數&#xff0c;則代表數組內容&…

React01

目錄 React-day01 入門知識React介紹官網React開發環境初始化 SPA腳手架初始化項目&#xff08;方便&#xff0c;穩定&#xff09;*通過webpack進行初始化配置鏡像地址開發工具配置元素渲染組件及組件狀態函數定義組件(無狀態)類定義組件(有狀態)*組合組件Props屬性*State狀態*…

算法 --- 反轉數組

幾個注意點: 1.輸出的時候,也要做數字超出處理 2.js中可以使用 str -0 將字符串類型轉換成數字類型 ( 注意不是 0) 3.可以使用 num ‘’ 將數字類型轉換成字符串類型 4.使用str.split(’’) 可以將字符串轉換成數組 5.使用arr.join(’’) 可以將數組轉換成字符串 6.JS中2的31次…

ES6-13 正則方法、修飾符yus、UTF_16編碼方式

修飾符 m multiLine 對于str中含\n的情況g globali ignoreCase 元字符 反斜杠加轉義 元字符含義簡寫\w匹配字母、數字、下劃線。等價于’[A-Za-z0-9_]’。word\W匹配非字母、數字、下劃線。等價于 ‘[^A-Za-z0-9_]’。\s匹配任何空白字符&#xff0c;包括空格、制表符、換頁…

svn文件大小類型限制,提交必須加多少字的說明

#!/bin/shREPOS"$1" TXN"$2" #此處更改大小限制&#xff0c;這里是5M MAX_SIZE5242880 #此處增加限制文件后綴名 FILTER\.(zip|rar|o|obj|tar|gz)$SVNLOOK/usr/bin/svnlookLOGMSG$SVNLOOK log -t "$TXN" "$REPOS" | wc -cif [ "$…

cmd窗口快速定位到具體文件夾方法

在用Python進行機器實戰時&#xff0c;打開cmd窗口后&#xff0c;總是到定位到kNN.py所在文件夾才能Python&#xff08;否則import kNN失敗&#xff09;&#xff0c;每次都要輸入地址非常麻煩 這里介紹一個cmd窗口快速定位到具體文件夾方法&#xff1a; 按住Shift鍵右擊鼠標打開…

算法 --- 羅馬數字轉整數

解體思路: 1.寫一個對象trans用于保存羅馬和數字之間的映射關系 2.重點在于當數值小的出現在數值大的左邊時,會減去該數,出現在右邊時會加上該數,因此需要與后面的進行比較 3.在得到s時,首先給它轉換成字符串,并在末位加一個0 /*** param {string} s* return {number}*/ var r…