MySQL之初始化數(shù)據(jù)詳解
MySQL命令行基本命令
列出當(dāng)前數(shù)據(jù)庫管理系統(tǒng)中有哪些數(shù)據(jù)庫。
show databases;

創(chuàng)建數(shù)據(jù)庫,起名bjpowernode。
create database bjpowernode;

使用bjpowernode數(shù)據(jù)庫。
use bjpowernode;

查看當(dāng)前用的是哪個(gè)數(shù)據(jù)庫。
select database();

查看當(dāng)前數(shù)據(jù)庫中有哪些表。
show tables;


刪除數(shù)據(jù)庫bjpowernode。
drop database bjpowernode;

退出mysqlexitquitctrl + c查看當(dāng)前mysql版本
select version();

還可以使用mysql.exe命令來查看版本信息(在沒有登錄mysql之前使用):mysql --version

數(shù)據(jù)庫表的概述
| name | age | gender |
|---|---|---|
| 張三 | 20 | 男 |
| 李四 | 22 | 女 |
以上就是數(shù)據(jù)庫表格的直觀展示形式。
表格英文單詞table。
表是數(shù)據(jù)庫存儲(chǔ)數(shù)據(jù)的基本單元,數(shù)據(jù)庫存儲(chǔ)數(shù)據(jù)的時(shí)候,是將數(shù)據(jù)存儲(chǔ)在表對(duì)象當(dāng)中的。為什么將數(shù)據(jù)存儲(chǔ)在表中呢?因?yàn)楸泶鎯?chǔ)數(shù)據(jù)非常直觀。
任何一張表都有行和列:
- 行:記錄(一行就是一條數(shù)據(jù))
- 列:字段(name字段、age字段、gender字段)
每個(gè)字段包含以下屬性:
- 字段名:name、age、gender都是字段的名字
- 字段的數(shù)據(jù)類型:每個(gè)字段都有數(shù)據(jù)類型,比如:字符類型、數(shù)字類型、日期類型
- 字段的數(shù)據(jù)長度:每個(gè)字段有可能會(huì)有長度的限制
- 字段的約束:比如某些字段要求該字段下的數(shù)據(jù)不能重復(fù)、不能為空等,用來保證表格中數(shù)據(jù)合法有效
初始化測(cè)試數(shù)據(jù)
為了方便后面內(nèi)容的學(xué)習(xí),老師提前準(zhǔn)備了表以及表中的測(cè)試數(shù)據(jù),以下是建表并且初始化數(shù)據(jù)的sql腳本
DROP TABLE IF EXISTS EMP; DROP TABLE IF EXISTS DEPT; DROP TABLE IF EXISTS SALGRADE; CREATE TABLE DEPT(DEPTNO int(2) not null , DNAME VARCHAR(14) , LOC VARCHAR(13), primary key (DEPTNO) ); CREATE TABLE EMP(EMPNO int(4) not null , ENAME VARCHAR(10), JOB VARCHAR(9), MGR INT(4), HIREDATE DATE DEFAULT NULL, SAL DOUBLE(7,2), COMM DOUBLE(7,2), primary key (EMPNO), DEPTNO INT(2) ); CREATE TABLE SALGRADE( GRADE INT, LOSAL INT, HISAL INT ); INSERT INTO DEPT ( DEPTNO, DNAME, LOC ) VALUES ( 10, 'ACCOUNTING', 'NEW YORK'); INSERT INTO DEPT ( DEPTNO, DNAME, LOC ) VALUES ( 20, 'RESEARCH', 'DALLAS'); INSERT INTO DEPT ( DEPTNO, DNAME, LOC ) VALUES ( 30, 'SALES', 'CHICAGO'); INSERT INTO DEPT ( DEPTNO, DNAME, LOC ) VALUES ( 40, 'OPERATIONS', 'BOSTON'); INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,DEPTNO ) VALUES ( 7369, 'SMITH', 'CLERK', 7902, '1980-12-17', 800, NULL, 20); INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,DEPTNO ) VALUES ( 7499, 'ALLEN', 'SALESMAN', 7698, '1981-02-20', 1600, 300, 30); INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,DEPTNO ) VALUES ( 7521, 'WARD', 'SALESMAN', 7698, '1981-02-22', 1250, 500, 30); INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,DEPTNO ) VALUES ( 7566, 'JONES', 'MANAGER', 7839, '1981-04-02', 2975, NULL, 20); INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,DEPTNO ) VALUES ( 7654, 'MARTIN', 'SALESMAN', 7698, '1981-09-28', 1250, 1400, 30); INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,DEPTNO ) VALUES ( 7698, 'BLAKE', 'MANAGER', 7839, '1981-05-01', 2850, NULL, 30); INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,DEPTNO ) VALUES ( 7782, 'CLARK', 'MANAGER', 7839, '1981-06-09', 2450, NULL, 10); INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,DEPTNO ) VALUES ( 7788, 'SCOTT', 'ANALYST', 7566, '1987-04-19', 3000, NULL, 20); INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,DEPTNO ) VALUES ( 7839, 'KING', 'PRESIDENT', NULL, '1981-11-17', 5000, NULL, 10); INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,DEPTNO ) VALUES ( 7844, 'TURNER', 'SALESMAN', 7698, '1981-09-08', 1500, 0, 30); INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,DEPTNO ) VALUES ( 7876, 'ADAMS', 'CLERK', 7788, '1987-05-23', 1100, NULL, 20); INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,DEPTNO ) VALUES ( 7900, 'JAMES', 'CLERK', 7698, '1981-12-03', 950, NULL, 30); INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,DEPTNO ) VALUES ( 7902, 'FORD', 'ANALYST', 7566, '1981-12-03', 3000, NULL, 20); INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,DEPTNO ) VALUES ( 7934, 'MILLER', 'CLERK', 7782, '1982-01-23', 1300, NULL, 10); INSERT INTO SALGRADE ( GRADE, LOSAL, HISAL ) VALUES ( 1, 700, 1200); INSERT INTO SALGRADE ( GRADE, LOSAL, HISAL ) VALUES ( 2, 1201, 1400); INSERT INTO SALGRADE ( GRADE, LOSAL, HISAL ) VALUES ( 3, 1401, 2000); INSERT INTO SALGRADE ( GRADE, LOSAL, HISAL ) VALUES ( 4, 2001, 3000); INSERT INTO SALGRADE ( GRADE, LOSAL, HISAL ) VALUES ( 5, 3001, 9999); commit;
什么是sql腳本:文件名是.sql,并且該文件中編寫了大量的SQL語句,執(zhí)行sql腳本程序就相當(dāng)于批量執(zhí)行SQL語句。
你入職的時(shí)候,項(xiàng)目一般都是進(jìn)展了一部分,多數(shù)情況下你進(jìn)項(xiàng)目組的時(shí)候數(shù)據(jù)庫的表以及數(shù)據(jù)都是有的,項(xiàng)目經(jīng)理第一天可能會(huì)給你一個(gè)較大的sql腳本文件,你需要執(zhí)行這個(gè)腳本文件來初始化你的本地?cái)?shù)據(jù)庫。(當(dāng)然,也有可能數(shù)據(jù)庫是共享的。)
創(chuàng)建文件:bjpowernode.sql,把以上SQL語句全部復(fù)制到sql腳本文件中。
執(zhí)行SQL腳本文件,初始化數(shù)據(jù)庫
- 第一步:命令窗口登錄mysql
- 第二步:創(chuàng)建數(shù)據(jù)庫bjpowernode(如果之前已經(jīng)創(chuàng)建就不需要再創(chuàng)建了):create database bjpowernode;
- 第三步:使用數(shù)據(jù)庫bjpowernode:use bjpowernode;
- 第四步:source命令執(zhí)行sql腳本,注意:source命令后面是sql腳本文件的絕對(duì)路徑。

- 第五步:查看是否初始化成功,執(zhí)行:show tables;

使用其他的mysql客戶端工具也可以執(zhí)行sql腳本,比如navicat。使用source命令執(zhí)行sql腳本的優(yōu)點(diǎn):可支持大文件。
熟悉測(cè)試數(shù)據(jù)
emp dept salgrade三張表分別存儲(chǔ)什么信息
查看表結(jié)構(gòu):desc或describe,語法格式:desc或describe +表名

以上的結(jié)果展示的不是表中的數(shù)據(jù),而是表的結(jié)構(gòu)。
對(duì)以上表結(jié)構(gòu)進(jìn)行解釋說明:
emp表dept表salgrade表
對(duì)于以上表結(jié)構(gòu)要提前了解,后面學(xué)習(xí)的內(nèi)容需要你馬上反應(yīng)出:哪個(gè)字段是什么意思。
查看一下表中的數(shù)據(jù),來加深一下印象(以下SQL語句會(huì)在后面課程中學(xué)習(xí)):

emp:員工信息dept:部門信息salgrade:工資等級(jí)信息Field是字段名Type是這個(gè)字段的數(shù)據(jù)類型Null是這個(gè)字段是否允許為空Key是這個(gè)字段是否為主鍵或外鍵Default是這個(gè)字段的默認(rèn)值empno:員工編號(hào),int類型(整數(shù)),不能為空,主鍵(主鍵后期學(xué)習(xí)約束時(shí)會(huì)進(jìn)行說明)ename:員工姓名,varchar類型(字符串)job:工作崗位,varchar類型mgr:上級(jí)領(lǐng)導(dǎo)編號(hào),int類型hiredate:雇傭日期,date類型(日期類型)sal:月薪,double類型(帶有浮點(diǎn)的數(shù)字)comm:補(bǔ)助津貼,double類型deptno:部門編號(hào),int類型deptno:部門編號(hào),int類型,主鍵dname:部門名稱,varchar類型loc:位置,varchar類型grade:等級(jí),int類型losal:最低工資,int類型hisal:最高工資,int類型
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
MySQL讀寫延遲與并發(fā)導(dǎo)致的問題解決方案
讀寫延遲和并發(fā)問題,通常指的是在數(shù)據(jù)庫操作中,特別是在主從復(fù)制架構(gòu)或高并發(fā)場(chǎng)景下出現(xiàn)的經(jīng)典問題,本文將詳細(xì)解析這些問題的表現(xiàn)、原因和解決方案2026-03-03
MySQL存儲(chǔ)過程終止執(zhí)行的三種常見方法
在 MySQL 存儲(chǔ)過程(PROCEDURE)開發(fā)中,我們常常遇到這樣的需求:在執(zhí)行過程中,如果某些條件不滿足,就要立即終止剩余邏輯,避免無效或錯(cuò)誤的操作,所以本文給大家介紹了MySQL存儲(chǔ)過程終止執(zhí)行的三種常見方法,需要的朋友可以參考下2025-11-11
一次MySql重置root密碼無效的實(shí)戰(zhàn)記錄
最近碰見過幾次mysql?root密碼修改無效的情況,在此做一下總,下面這篇文章主要給大家介紹了一次MySql重置root密碼無效的實(shí)戰(zhàn)記錄,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04
MySQL存儲(chǔ)結(jié)構(gòu)用法案例分析
這篇文章主要介紹了MySQL存儲(chǔ)結(jié)構(gòu)用法,結(jié)合具體案例形式分析了mysql存儲(chǔ)結(jié)構(gòu)相關(guān)使用方法與操作注意事項(xiàng),需要的朋友可以參考下2018-07-07
快速增加MYSQL數(shù)據(jù)庫連接數(shù)負(fù)載能力的方法分享
mysql數(shù)據(jù)庫的負(fù)載能力除了和你機(jī)器硬件有關(guān),還有一個(gè)重要參數(shù)就是你系統(tǒng)的配置有關(guān),下面我來給大家介紹幾種提高M(jìn)YSQL數(shù)據(jù)庫連接數(shù)負(fù)載能力方法總結(jié),有需要的朋友可以參考一下2013-08-08
MySQL5.6.22 綠色版 安裝詳細(xì)教程(圖解)
本文通過圖文并茂的形式給大家介紹了MySQL5.6.22 綠色版 安裝詳細(xì)教程,非常不錯(cuò),具有一定的參考借鑒價(jià)值,感興趣的朋友一起看看吧2016-11-11

