MySQL之初始化数据详解!
MySQL之初始化数据详解!
MySQL命令行基本命令
列出当前数据库管理系统中有哪些数据库。
1
|
show databases; |
创建数据库,起名bjpowernode。
1
|
create database bjpowernode; |
使用bjpowernode数据库。
1
|
use bjpowernode; |
查看当前用的是哪个数据库。
1
|
select database (); |
查看当前数据库中有哪些表。
1
|
show tables; |
删除数据库bjpowernode。
1
|
drop database bjpowernode; |
退出mysqlexitquitctrl + c查看当前mysql版本
1
|
select version(); |
还可以使用mysql.exe命令来查看版本信息(在没有登录mysql之前使用):mysql --version
数据库表的概述
name | age | gender |
---|---|---|
张三 | 20 | 男 |
李四 | 22 | 女 |
以上就是数据库表格的直观展示形式。
表格英文单词table。
表是数据库存储数据的基本单元,数据库存储数据的时候,是将数据存储在表对象当中的。为什么将数据存储在表中呢?因为表存储数据非常直观。
任何一张表都有行和列:
- 行:记录(一行就是一条数据)
- 列:字段(name字段、age字段、gender字段)
每个字段包含以下属性:
- 字段名:name、age、gender都是字段的名字
- 字段的数据类型:每个字段都有数据类型,比如:字符类型、数字类型、日期类型
- 字段的数据长度:每个字段有可能会有长度的限制
- 字段的约束:比如某些字段要求该字段下的数据不能重复、不能为空等,用来保证表格中数据合法有效
初始化测试数据
为了方便后面内容的学习,老师提前准备了表以及表中的测试数据,以下是建表并且初始化数据的sql脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
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语句,执行sql脚本程序就相当于批量执行SQL语句。
你入职的时候,项目一般都是进展了一部分,多数情况下你进项目组的时候数据库的表以及数据都是有的,项目经理第一天可能会给你一个较大的sql脚本文件,你需要执行这个脚本文件来初始化你的本地数据库。(当然,也有可能数据库是共享的。)
创建文件:bjpowernode.sql,把以上SQL语句全部复制到sql脚本文件中。
执行SQL脚本文件,初始化数据库
- 第一步:命令窗口登录mysql
- 第二步:创建数据库bjpowernode(如果之前已经创建就不需要再创建了):create database bjpowernode;
- 第三步:使用数据库bjpowernode:use bjpowernode;
- 第四步:source命令执行sql脚本,注意:source命令后面是sql脚本文件的绝对路径。
- 第五步:查看是否初始化成功,执行:show tables;
使用其他的mysql客户端工具也可以执行sql脚本,比如navicat。使用source命令执行sql脚本的优点:可支持大文件。
熟悉测试数据
emp dept salgrade三张表分别存储什么信息
查看表结构:desc或describe,语法格式:desc或describe +表名
以上的结果展示的不是表中的数据,而是表的结构。
对以上表结构进行解释说明:
emp
表dept
表salgrade
表
对于以上表结构要提前了解,后面学习的内容需要你马上反应出:哪个字段是什么意思。
查看一下表中的数据,来加深一下印象(以下SQL语句会在后面课程中学习):
emp
:员工信息dept
:部门信息salgrade
:工资等级信息Field
是字段名Type
是这个字段的数据类型Null
是这个字段是否允许为空Key
是这个字段是否为主键或外键Default
是这个字段的默认值empno
:员工编号,int类型(整数),不能为空,主键(主键后期学习约束时会进行说明)ename
:员工姓名,varchar类型(字符串)job
:工作岗位,varchar类型mgr
:上级领导编号,int类型hiredate
:雇佣日期,date类型(日期类型)sal
:月薪,double类型(带有浮点的数字)comm
:补助津贴,double类型deptno
:部门编号,int类型deptno
:部门编号,int类型,主键dname
:部门名称,varchar类型loc
:位置,varchar类型grade
:等级,int类型losal
:最低工资,int类型hisal
:最高工资,int类型
总结
以上为个人经验,希望能给大家一个参考。
学习资料见知识星球。
以上就是今天要分享的技巧,你学会了吗?若有什么问题,欢迎在下方留言。
快来试试吧,小琥 my21ke007。获取 1000个免费 Excel模板福利!
更多技巧, www.excelbook.cn
欢迎 加入 零售创新 知识星球,知识星球主要以数据分析、报告分享、数据工具讨论为主;
1、价值上万元的专业的PPT报告模板。
2、专业案例分析和解读笔记。
3、实用的Excel、Word、PPT技巧。
4、VIP讨论群,共享资源。
5、优惠的会员商品。
6、一次付费只需129元,即可下载本站文章涉及的文件和软件。
共有 0 条评论