MYSQL資料庫常用命令

來源:互聯網
上載者:User

標籤:mysq   自動產生   proc   section   man   ons   開始   關聯關係   儲存引擎   

1、linux 安裝資料庫

# yum install mysql* -y

2、啟動資料庫/關閉資料庫/重啟資料庫/查看資料庫狀態

# /etc/init.d/mysqld start# /etc/init.d/mysqld stop# /etc/init.d/mysqld restart# /etc/init.d/mysqld status

3、開機啟動資料庫

# chkconfig mysql on

4、配置修改資料庫root密碼

# mysqladmin -uroot password "123456"或:mysql> SET PASSWORD FOR ‘root‘@‘localhost‘=PASSWORD(‘123456‘);

5、使用root使用者登入資料庫

# mysql -uroot -p123456

6、建立資料庫xiessdb

mysql> CREATE DATABASE xiessdb;

註:mysql語句中";"表示結束,也可以用"\g"或者"\G"表示,"\g"與";"相同,"\G"可以顯示讓結果更加直觀

7、使用show查看資料庫xiess

mysql> show DATABASES;+--------------------+| Database           |+--------------------+| information_schema || mysql              || test               || xiessdb            |+--------------------+4 rows in set (0.00 sec)

8、刪除資料庫xiessdb

mysql> DROP DATABASE xiessdb;

9、查看MYSQL資料庫支援的儲存引擎類型

mysql> show ENGINES;+------------+---------+------------------------------------------------------------+--------------+------+------------+| Engine     | Support | Comment                                                    | Transactions | XA   | Savepoints |+------------+---------+------------------------------------------------------------+--------------+------+------------+| MRG_MYISAM | YES     | Collection of identical MyISAM tables                      | NO           | NO   | NO         || CSV        | YES     | CSV storage engine                                         | NO           | NO   | NO         || MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance     | NO           | NO   | NO         || InnoDB     | YES     | Supports transactions, row-level locking, and foreign keys | YES          | YES  | YES        || MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables  | NO           | NO   | NO         |+------------+---------+------------------------------------------------------------+--------------+------+------------+

engine參數是儲存引擎名稱;support參數是指mysql是否支援該類引擎;comment參數是指對該引擎的評論;transactions參數表示是否支援事件處理;savepoints參數表示是否支援儲存點,以便交易回復到儲存點。 另一個show語句查詢支援的儲存引擎資訊。

mysql> show VARIABLES LIKE ‘have%‘;

使用show語句查詢預設儲存引擎

mysql> show VARIABLES LIKE ‘storage_engine‘;

修改預設的儲存引擎為InnoDB

修改my.cnf設定檔,在[mysqld]後面添加

default-storage-engine=InnoDB

重啟資料庫

10、資料庫表

表是資料庫儲存資料的基本單位。一個表包含若干個欄位或紀錄。

註:在建立表時,首先要選擇資料庫,選擇資料庫的語句為"use 資料庫名"。

mysql> use xiessdb;

在xiessdb資料庫下建立名為mydb01的表

mysql> CREATE TABLE mydb01(id INT,name VARCHAR(20),sex BOOLEAN);

其中,id欄位表示整形;name欄位表示字串型;sex欄位表示布爾型。

刪除表文法,例:刪除表mydddd0

mysql> DROP TABLE mydddd0;

設定表的主鍵。主鍵是表的一個特殊欄位,該欄位能唯一地標識該表中的每條資訊。

主鍵是由一個欄位構成,可以直接在該欄位的後面加上PRIMARY KEY 來設定,文法規則:屬性名稱 資料類型 PRIMARY KEY

建立表mydb02,設定stu_id 為主鍵

mysql> CREATE TABLE mydb02(stu_id INT PRIMARY KEY,stu_name VARCHAR(20),stu_sex BOOLEAN);

多欄位主鍵。主鍵是由多個屬性群組合而成,在屬性定義完後統一設定主鍵。文法規則:PRIMARY KEY(屬性名稱1,屬性名稱2,...)

建立表mydb03,設定stu_id,course_id為主鍵

mysql> CREATE TABLE mydb03(stu_id INT,course_id INT,grade FLOAT,PRIMARY KEY(stu_id,course_id));

設定表的外鍵。外鍵是表的特殊欄位,作用是建立該表d與其父表的關聯關係。原則是依賴存在父表的主鍵,外鍵可以是空值。基本文法規則:CONSTRAINT 別名 FOREIGN KEY(屬性1.1,屬性1.2....)PRFERENCES 表名(屬性2.1,屬性2.2....)

設定表的非空約束。非空性是指欄位的值不可為空值(NULL) 設定非空約束的基本語句規則是:屬性名稱 資料類型 NOT NULL

mysql> CREATE TABLE mydb04(id INT NOT NULL PRIMARY KEY,name VARCHAR(20) NOT NULL);

設定表的唯一性限制式。唯一性限制式是指所有紀錄中該欄位的值不能重複出現。唯一性限制式的基本文法規則是:屬性名稱 資料類型 UNIQUE

mysql> CREATE TABLE mydb05(id INT PRIMARY KEY,stu_id INT UNIQUE,name VARCHAR(20) NOT NULL);

設定表的屬性值自動增加。AUTO_INCREMENT是mysql資料庫中的一個特殊的約束條件,用於為表中插入的新紀錄自動產生唯一的ID。預設情況下,該欄位的值是從1開始增長。基本文法規則是:屬性名稱 資料類型 AUTO_INCREMENT

mysql> CREATE TABLE mydb06(id INT PRIMARY KEY AUTO_INCREMENT,stu_id INT UNIQUE,name VARCHAR(20) NOT NULL);

設定表屬性的預設值。預設值是通過DEFAULT關鍵字來設定,基本文法規則是:屬性名稱 資料類型 DEFAULT 預設值

二、查看錶結構

1、查看錶結構的語句包括DESCRIBE語句和SHOW CREATE TABLE語句。DESCRIBE語句可以查詢表的基本定義。包括欄位名、欄位資料類型、是否為主鍵和預設值等。基本文法是:DESCRIBE 表名;

mysql> DESCRIBE mydb05;+--------+-------------+------+-----+---------+-------+| Field  | Type        | Null | Key | Default | Extra |+--------+-------------+------+-----+---------+-------+| id     | int(11)     | NO   | PRI | NULL    |       || stu_id | int(11)     | YES  | UNI | NULL    |       || name   | varchar(20) | NO   |     | NULL    |       |+--------+-------------+------+-----+---------+-------+

2、查看錶詳細結構語句SHOW CREATE TABLE。該語句可以查看錶的欄位名、欄位的資料類型、完整性條件約束條件等資訊,還可以查看錶預設的儲存引擎和字元編碼。基本文法是:SHOW CREATE TABLE 表名;

mysql> SHOW CREATE TABLE mydb05;+--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| Table  | Create Table                                                                                                                                                                                                   |+--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| mydb05 | CREATE TABLE `mydb05` (  `id` int(11) NOT NULL,  `stu_id` int(11) DEFAULT NULL,  `name` varchar(20) NOT NULL,  PRIMARY KEY (`id`),  UNIQUE KEY `stu_id` (`stu_id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1 |+--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

三、修改表名

表名是資料庫中唯一的。通過語句ALTER TABLE 實現。基本文法是:ALTER TABLE 舊錶名 RENAME [TO] 新表名;

mysql> ALTER TABLE mydb06 RENAME mysqldb006;

ALTER TABLE 語句也可以修改欄位的資料類型,基本文法是:ALTEL TABLE 表名 MODIFY 屬性名稱 資料類型;

ALTEL TABLE 語句也可以修改表的欄位名,基本文法是:ALTEL TABLE 表名 CHANGE 舊屬性名稱 新屬性名稱 新資料類型;

ALTEL TABLE 語句也可以增加欄位,基本文法是:ALTEL TABLE 表名 ADD 屬性名稱1 資料類型 [完整性條件約束條件] [FIRST | AFTER 屬性名稱2];

mysql> ALTER TABLE mydb06 ADD phone VARCHAR(20);mysql> ALTER TABLE mydb06 ADD age INT(4) NOT NULL;

註:預設情況下,新增欄位都在表的最後一個欄位,加上FIRST參數,可將新增欄位設定在表的第一個欄位。指定位置增加欄位,加上"AFTER 屬性名稱2" 參數,則新增欄位插入在"屬性名稱2"後面。

ALTEL TABLE 語句也可以刪除表的欄位,基本文法是:ALTEL TABLE 表名 DROP 屬性名稱;

ALTEL TABLE 語句修改欄位的排列位置,基本文法是:ALTEL TABLE 表名 MODIFY 屬性名稱1 資料類型 FIRST | AFTER 屬性名稱2;

ALTEL TABLE 語句更改表的儲存引擎,基本文法是:ALTEL TABLE 表名 ENGINE=儲存引擎名;

mysql> ALTER TABLE mydb06 ENGINE=MyISAM;

ALTEL TABLE 語句刪除表的外鍵約束,基本文法是:ALTEL TABLE 表名 DROP FOREIGN KEY 外鍵別名;

四、刪除表

mysql 中使用DORP TABLE 語句刪除表,基本文法是:DROP TABLE 表名;

mysql> DROP TABLE mydb06;

註:刪除被其他表關聯的父表。先刪除其他表的約束,再刪除父表。

MYSQL資料庫常用命令

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.