一、基本命令
1、显示当前连接的数据库服务中当前用户下的所有数据库
SHOW DATABASES;
2、显示当前数据库的版本信息
SELECT VERSION() FROM DUAL;
3、显示当前登录数据库的用户
SELECT USER() FROM DUAL;
二、结构化查询语句SQL(Structured Query Language)
- 数据定义语言(DDL): 包括CREATE、ALTER、DROP 等命令;
- 数据操纵语言(DML):包括INSERT、UPDATE、DELETE、SELECT…FOR UPDATE 等命令;
- 数据查询语言(DQL):包括基本查询语句、Order By子句、Group By子句等;
- 事务控制语言(TCL):包括COMMIT、SAVEPOINT(保存点)、ROLLBACK命令;
- 数据控制语言(DCL):GRANT(授权)、REVOKE(撤销)命令。
三、建库、建表
3.1、创建数据库
- 创建数据库语法结构:
CREATE DATABASE db_name;
- 使用数据库语法结构:
USE db_name;
- 删除数据库语法结构:
DROP DATABASE db_name;
- 实操一:创建公司数据库
1、创建数据库
CREATE DATABASE company_info;
2、使用数据库
USE company_info;
3、查看数据库
SHOW DATABASES;
4、删除数据库
DROP DATABASE company_info;
3.2、创建数据表
- 创建数据表的语法结构:
CREATE TABLE tab_name(
col_name datetype,
col_name datetype,
...
);
- 删除数据表的语法结构:
DROP TABLE tab_name;
- MySQL中常见的数据类型
数据类型名称 | 描述 |
---|---|
SMALLINT | 小的整数 |
MEDIUMINT | 中等大小的整数 |
INT/INTEGER | 普通大小的整数 |
BIGINT | 大整数 |
FLOAT | 小(单精度)浮点型 |
DOUBLE | 普通(双精度)浮点型 |
DATE | 日期,显示格式”YYYY-MM-DD“ |
DATETIME | 日期和时间的组合,显示格式:”YYYY-MM-DD HH:MM:SS“ |
TIMESTAMP | 时间戳 |
TIME | 时间 |
YEAR | 两位或四位格式的年 |
CHAR(M) | 固定长度字符串,M表示列长度 |
VARCHAR(M) | 变长字符串,M表示最大列常 |
TEXT[(M)] | 长字符串 |
- 实操之创建部门表和员工表
1、创建部门表:
CREATE TABLE dept(
deptno INT,
dname VARCHAR(14),
loc VARCHAR(13)
);
2、创建员工表:
CREATE TABLE emp(
empno INT,
ename VARCHAR(10),
job VARCHAR(10),
mgr INT,
hirdate DATETIME,
sal DOUBLE,
comm DOUBLE,
deptno INT
);
3.3、CRUD操作
推数据表中的数据操作通常有添加(Create)、 查询(Retrieve)、 修改(Update)、删除(Delete),简称为CRUD。
1、添加数据
- 添加数据语法结构
INSERT INTO tab_name(col1,col2,col3...)VALUES(value1,value2,value3...)
value的数量、顺序、类型必须与col完全一致
- 实操之添加部门和员工
1、给dept表中添加数据:
INSERT INTO dept(deptno,dname,loc)VALUES(10,'人事部','北京');
INSERT INTO dept(deptno,dname,loc)VALUES(20,'软件部','深圳');
INSERT INTO dept(deptno,dname,loc)VALUES(30,'销售部','杭州');
如果向所有列中添加数据,则可省略列名
如:
INSERT INTO dept VALUES(10,'人事部','北京');
INSERT INTO dept VALUES(20,'软件部','深圳');
INSERT INTO dept VALUES(30,'销售部','杭州');
2、向emp表中添加数据:
INSERT INTO emp(empno,ename,job,mgr,hirdate,sal,comm,deptno )VALUES(1001,'宋江','董事长',null,'2001-1-1',6000,10000,10);
INSERT INTO emp(empno,ename,job,mgr,hirdate,sal,comm,deptno )VALUES(10011,'晁盖','董事助理',1001,'2003-1-1',3000,1000,10);
INSERT INTO emp(empno,ename,job,mgr,hirdate,sal,comm,deptno )VALUES(10012,'吴用','董事助理',1001,'2002-4-1',4000,4000,10);
INSERT INTO emp(empno,ename,job,mgr,hirdate,sal,comm,deptno )VALUES(2001,'林冲','项目经理',1001,'2005-1-1',6000,5000,20);
INSERT INTO emp(empno,ename,job,mgr,hirdate,sal,comm,deptno )VALUES(20011,'李逵','项目组长',2001,'2004-1-1',3000,1000,20);
INSERT INTO emp(empno,ename,job,mgr,hirdate,sal,comm,deptno )VALUES(20012,'扈三娘','项目助理',2001,'2005-1-1',5000,1000,20);
INSERT INTO emp(empno,ename,job,mgr,hirdate,sal,comm,deptno )VALUES(200111,'时迁','程序员',20011,'2006-5-1',2000,2000,20);
INSERT INTO emp(empno,ename,job,mgr,hirdate,sal,comm,deptno )VALUES(3001,'母夜叉','销售经理',1001,'2003-1-1',2000,10000,30);
INSERT INTO emp(empno,ename,job,mgr,hirdate,sal,comm,deptno )VALUES(30011,'张青','销售助理',3001,'2005-1-1',2000,2000,30);
2、查询数据
- 查询数据语法结构:
SELECT col1,col2,col3... FROM tab_name;
例:查询dept表中的所有数据:
SELECT * FROM dept;
3、修改数据
- 修改数据语法结构
UPDATE tab_name SET col1=value1, clo2=value2 ... WHERE condition;
例:由于李逵工作人认真负责,特此将奖金升为3000;
UPDATE emp SET comm=3000 WHERE ename='李逵';
执行后查询可得:
SELECT comm FROM emp WHERE ename='李逵';
4、删除数据
- 删除数据的语法格式:
DELETE FROM tab_name WHERE condition;
例:由于销售助理张青不满现在的工资待遇跳槽了,需要将其信息删除,如下:
DELETE FROM emp WHERE ename='张青';
这样就移除了张青的所有信息。
四、数据备份与还原
小贴士
数据库启动命令:
net start MySQL服务名
停止数据库命令:
net stop MySQL服务名
1、方法一:第三方导入导出
1.1、数据库的备份
- 备份完成,是一个.psc文件,直接剪切出来。
1.2、数据库的还原
1.2.1、新建数据库
CREATE DATABASE company_info;
1.2.2、进行备份还原
- 按照如下步骤操作:
- 操作完成则看到如下提示则是数据库还原备份成功。
2、方法二 :命令行备份与还原
2.1 数据库的备份
-
以下命令在命令行窗口执行
-
导出数据库(我的数据库为:productsales,导出路径为:F:/YunChuangWorkspace/WorkSpace/MySQL)
mysqldump -u用户名 -p密码 productsales>F:/YunChuangWorkspace/WorkSpace/MySQL/productSales.sql
-
导出数据库中的表:(表为product,在数据库productsales下,导出路径为F:/YunChuangWorkspace/WorkSpace/MySQL)
mysqldump -u用户名 -p密码 productsales product >F:/YunChuangWorkspace/WorkSpace/MySQL/product.sql
2.2、数据库的还原
-
导入数据库productsales方式一:(在命令行执行)
-
(此.sql文件在F:/YunChuangWorkspace/WorkSpace/MySQL/productSales.sql)
mysql -u 用户名 -p密码 productsales < F:\YunChuangWorkspace\WorkSpace\MySQL\productSales.sql
-
-
方式二:(在MySQL中执行)
source F:\YunChuangWorkspace\WorkSpace\MySQL\productSales.sql