1. 程式人生 > 實用技巧 >MySql 基礎使用(一)

MySql 基礎使用(一)

參考網址http://c.biancheng.net/view/7143.html

1. 安裝完成後,登入mysql.

//登入mysql
mysql -u root -p(mysql -u root -ppass,注意pass和-p引數無空格)
// 檢視狀態
status
//在管理員模式下啟動mysql
net start mysql57(注意服務名稱)
net stop mysql57

2. MySql配置檔案

(windows)my.ini檔案,一般情況下,my.ini 在 MySql 安裝的根目錄下,也有可能在隱藏資料夾“C:\ProgramData”下面。http://c.biancheng.net/view/7571.html

(Linux)my.cnf檔案,http://c.biancheng.net/view/7618.html

3. SQL概述

SQL 包含以下 4 部分:

1)資料定義語言(Data Definition Language,DDL)

用來建立或刪除資料庫以及表等物件,主要包含以下幾種命令:

  • DROP:刪除資料庫和表等物件
  • CREATE:建立資料庫和表等物件
  • ALTER:修改資料庫和表等物件的結構

2)資料操作語言(Data Manipulation Language,DML)

用來變更表中的記錄,主要包含以下幾種命令:

  • SELECT:查詢表中的資料
  • INSERT:向表中插入新資料
  • UPDATE:更新表中的資料
  • DELETE:刪除表中的資料

3)資料查詢語言(Data Query Language,DQL)

用來查詢表中的記錄,主要包含 SELECT 命令,來查詢表中的資料。

4)資料控制語言(Data Control Language,DCL)

用來確認或者取消對資料庫中的資料進行的變更。除此之外,還可以對資料庫中的使用者設定許可權。主要包含以下幾種命令:

  • GRANT:賦予使用者操作許可權
  • REVOKE:取消使用者的操作許可權
  • COMMIT:確認對資料庫中的資料進行的變更
  • ROLLBACK:取消對資料庫中的資料進行的變更

4. 建立

(在mySQL中關鍵字不區分大小寫)
//建立資料庫
CREATE DATABASES test_db;
//使用 MySQL 命令列工具建立一個測試資料庫,命名為 test_db_char,指定其預設字符集為 utf8,預設校對規則為 utf8_chinese_ci(簡體中文,不區分大小寫): mysql> CREATE DATABASE IF NOT EXISTS test_db_char DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_chinese_ci; //建立後修改(同樣可用於修改表) mysql> alter database test_db default character set gb2312 default collate gb2312_chinese_ci; // 切換資料庫 use test_db; //建立表,支援utf8 CREATE TABLE students( student_id INT UNSIGNED, name VARCHAR(30) , sex CHAR(1), birth DATE, PRIMARY KEY(student_id) ) character set = utf8; //修改已有表,支援utf8 alter table students convert to character set utf8; //顯示資料庫 SHOW DATABASES LIKE 'test_db'; // 使用‘%’萬用字元顯示包含test的資料庫 SHOW DATABASES LIKE '%test%'; // 刪除表 drop databases if exists test_db; //查看錶 show tables; //DESCRIBE/DESC 語句可以查看錶的欄位資訊,包括欄位名、欄位資料型別、是否為主鍵、是否有預設值等。 desc students; //SHOW CREATE TABLE語句可以用來顯示建立表時的CREATE TABLE語句 show create table students; //修改表名 alter table students rename to student; //修改表字符集 alter table student character set gb2312 collate gb2312_chinese_ci; //修改欄位名稱 alter table student change student_id id int(15) unsigned; //修改欄位資料型別 alter table student modify id int(20); //刪除欄位 alter table student drop sex; //新增欄位,末尾、表頭、中間位置。 alter table student add sex char(1); alter table student add sex char(1) first; alter table student add sex char(1) after id; //關聯表,自己試驗的過程中,刪除主表不會報錯,暫未找到問題,mysql5.7.30 CONSTRAINT fk_emp4_emp5 FOREIGN KEY (deptId) REFERENCES tb_emp4(id) //解除外來鍵約束 ALTER TABLE tb_emp5 DROP FOREIGN KEY fk_emp4_emp5; (關於約束的問題詳看下一章)

5. 資料型別

1) 數值型別

整數型別包括 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,浮點數型別包括 FLOAT 和 DOUBLE,定點數型別為 DECIMAL。

2) 日期/時間型別

包括 YEAR、TIME、DATE、DATETIME 和 TIMESTAMP。

3) 字串型別

包括 CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM 和 SET 等。

4) 二進位制型別

包括 BIT、BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。

6. 儲存型別

現在許多資料庫管理系統都支援多種不同的儲存引擎。MySQL 的核心就是儲存引擎。MySQL 提供了多個不同的儲存引擎,包括處理事務安全表的引擎和處理非事務安全表的引擎。在 MySQL 中,不需要在整個伺服器中使用同一種儲存引擎,針對具體的要求,可以對每一個表使用不同的儲存引擎。MySQL 5.7 支援的儲存引擎有 InnoDB、MyISAM、Memory、Merge、Archive、CSV、BLACKHOLE 等。可以使用SHOW ENGINES;語句檢視系統所支援的引擎型別。

如何選擇MySQL儲存引擎?http://c.biancheng.net/view/7185.html

//顯示支援的引擎
show engines;
//顯示預設搜尋引擎
show variables like 'default_storage_engine%';
//修改預設搜尋引擎
set default_storage_engine=MyISAM;
//顯示資料表的當前搜尋引擎
show create table students;
//修改資料表的搜尋引擎
alter table students engine=MyISAM;
//以上這種方法適用於修改單個表的儲存引擎,如果希望修改預設的儲存引擎,就需要修改my.cnf(my.ini)配置檔案。在 my.cnf (my.ini) 配置檔案的 [mysqld] 後面加入:
default-storage-engine=儲存引擎名稱