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
