1. 程式人生 > 其它 >【MySQL】筆記(1)--- MySQL 資料庫概述;常用 DOS命令,SQL命令(初步);

【MySQL】筆記(1)--- MySQL 資料庫概述;常用 DOS命令,SQL命令(初步);

... SQL: 結構化查詢語言,是一門標準通用的語言。標準的sql適合於所有的資料庫產品;SQL屬於高階語言。只要能看懂英語單詞的,寫出來的sql語句,可以讀懂什麼意思;SQL語句在執行的時候,實際上內部也會先進行編譯,然後再執行sql(sql語句的編譯由DBMS完成).....

1. sql、DB、DBMS分別是什麼,他們之間的關係?
DB:
DataBase(資料庫,資料庫實際上在硬碟上以檔案的形式存在)

DBMS:
DataBase Management System(資料庫管理系統,常見的有:MySQL Oracle ...)

SQL:
結構化查詢語言,是一門標準通用的語言。標準的sql適合於所有的資料庫產品。
SQL屬於高階語言。只要能看懂英語單詞的,寫出來的sql語句,可以讀懂什麼意思。
SQL語句在執行的時候,實際上內部也會先進行編譯,然後再執行sql(sql語句的編譯由DBMS完成);

DBMS -(執行)-> SQL -(操作)-> DB

(DBMS負責執行sql語句,通過執行sql語句來操作DB當中的資料)

2. 什麼是表?

表:table是資料庫的基本組成單元,所有的資料都以表格的形式組織,目的是可讀性強。

一個表包括行和列:
行:被稱為資料/記錄(data)
列:被稱為欄位(column)

學號(int) 姓名(varchar) 年齡(int)
------------------------------------
110 張三 20
120 李四 21

每一個欄位應該包括哪些屬性?
欄位名、資料型別、相關的約束。

3. 學習MySQL主要還是學習通用的SQL語句,那麼SQL語句包括增刪改查,SQL語句怎麼分類呢?


DQL(資料查詢語言): 查詢語句,凡是select語句都是DQL。
DML(資料操作語言):insert delete update,對錶當中的資料進行增刪改。
DDL(資料定義語言):create drop alter,對錶結構的增刪改。
TCL(事務控制語言):commit提交事務,rollback回滾事務。(TCL中的T是Transaction)
DCL(資料控制語言): grant授權、revoke撤銷許可權等。

4. 匯入資料(後期大家練習的時候使用這個演示的資料)
第一步:登入mysql資料庫管理系統
dos命令視窗:
mysql -uroot -p333


第二步:檢視有哪些資料庫
show databases; (這個不是SQL語句,屬於MySQL的命令)
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
第三步:建立屬於我們自己的資料庫
create database bjpowernode; (這個不是SQL語句,屬於MySQL的命令)
第四步:使用bjpowernode資料
use bjpowernode; (這個不是SQL語句,屬於MySQL的命令)
第五步:檢視當前使用的資料庫中有哪些表?
show tables; (這個不是SQL語句,屬於MySQL的命令)
第六步:初始化資料
mysql> source D:\course\05-MySQL\resources\bjpowernode.sql

注意:資料初始化完成之後,有三張表:
+-----------------------+
| Tables_in_bjpowernode |
+-----------------------+
| dept |
| emp |
| salgrade |
+-----------------------+

5. bjpowernode.sql,這個檔案以sql結尾,這樣的檔案被稱為“sql指令碼”。什麼是sql指令碼呢?
當一個檔案的副檔名是".sql",並且該檔案中編寫了大量的sql語句,我們稱這樣的檔案為sql指令碼。
sql指令碼中的資料量太大的時候,無法開啟,請使用source命令完成初始化(注意:直接使用source命令可以執行sql指令碼);


6. 刪除資料庫:drop database bjpowernode;

7. 查看錶結構:
+-----------------------+
| Tables_in_bjpowernode |
+-----------------------+
| dept | (部門表)
| emp | (員工表)
| salgrade | (工資等級表)
+-----------------------+


mysql> desc dept;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| DEPTNO | int(2) | NO | PRI | NULL | | 部門編號
| DNAME | varchar(14) | YES | | NULL | | 部門名稱
| LOC | varchar(13) | YES | | NULL | | 部門位置
+--------+-------------+------+-----+---------+-------+

mysql> desc emp;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| EMPNO | int(4) | NO | PRI | NULL | | 員工編號
| ENAME | varchar(10) | YES | | NULL | | 員工姓名
| JOB | varchar(9) | YES | | NULL | | 工作崗位
| MGR | int(4) | YES | | NULL | | 上級領導編號
| HIREDATE | date | YES | | NULL | | 入職日期
| SAL | double(7,2) | YES | | NULL | | 月薪
| COMM | double(7,2) | YES | | NULL | | 補助/津貼
| DEPTNO | int(2) | YES | | NULL | | 部門編號
+----------+-------------+------+-----+---------+-------+

mysql> desc salgrade;
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| GRADE | int(11) | YES | | NULL | | 等級
| LOSAL | int(11) | YES | | NULL | | 最低薪資
| HISAL | int(11) | YES | | NULL | | 最高薪資
+-------+---------+------+-----+---------+-------+

8.查看錶中的所有資料?

mysql> select * from emp;
+-------+--------+-----------+------+------------+---------+---------+--------+
| EMPNO | ENAME | JOB | MGR | HIREDATE | SAL | COMM | DEPTNO |
+-------+--------+-----------+------+------------+---------+---------+--------+
| 7369 | SMITH | CLERK | 7902 | 1980-12-17 | 800.00 | NULL | 20 |
| 7499 | ALLEN | SALESMAN | 7698 | 1981-02-20 | 1600.00 | 300.00 | 30 |
| 7521 | WARD | SALESMAN | 7698 | 1981-02-22 | 1250.00 | 500.00 | 30 |
| 7566 | JONES | MANAGER | 7839 | 1981-04-02 | 2975.00 | NULL | 20 |
| 7654 | MARTIN | SALESMAN | 7698 | 1981-09-28 | 1250.00 | 1400.00 | 30 |
| 7698 | BLAKE | MANAGER | 7839 | 1981-05-01 | 2850.00 | NULL | 30 |
| 7782 | CLARK | MANAGER | 7839 | 1981-06-09 | 2450.00 | NULL | 10 |
| 7788 | SCOTT | ANALYST | 7566 | 1987-04-19 | 3000.00 | NULL | 20 |
| 7839 | KING | PRESIDENT | NULL | 1981-11-17 | 5000.00 | NULL | 10 |
| 7844 | TURNER | SALESMAN | 7698 | 1981-09-08 | 1500.00 | 0.00 | 30 |
| 7876 | ADAMS | CLERK | 7788 | 1987-05-23 | 1100.00 | NULL | 20 |
| 7900 | JAMES | CLERK | 7698 | 1981-12-03 | 950.00 | NULL | 30 |
| 7902 | FORD | ANALYST | 7566 | 1981-12-03 | 3000.00 | NULL | 20 |
| 7934 | MILLER | CLERK | 7782 | 1982-01-23 | 1300.00 | NULL | 10 |
+-------+--------+-----------+------+------------+---------+---------+--------+

9.常用命令?
mysql> select database(); 檢視當前使用的是哪個資料庫
+-------------+
| database() |
+-------------+
| bjpowernode |
+-------------+

mysql> select version(); 檢視mysql的版本號。
+-----------+
| version() |
+-----------+
| 5.5.36 |
+-----------+

\c 命令,結束一條語句。

exit 命令,退出mysql。

10. 檢視建立表的語句:
show create table emp;


資料出處:https://www.bilibili.com/video/BV1fx411X7BD