MYSQL学习日记-入门笔记

MySQL–>免费
1: MySQL 是什么?
是一个软件
2:MySQL有什么用?
按照特定的格式存储数据的一个仓库,用户可以对仓库中的数据进行管理
3:MySQL怎么用?
1:连接MySQL
mysql -uroot -p123
mysql:关键字
-u:标识符,标识用户
root:用户名。
-p:标识符,标识密码
123:数据库的密码
2:认识一下数据的结构
1:库(硬盘上的表现形式就是文件夹)
创建库: create database bjpowernode;
create 和 database 是关键字(不能写错,不区分大小写)
bjpowernode :用户自定义的库名称
“;” 代表一句话的结束,英文输入法下的。
删除库:
drop database bjpowernode;
drop 和 database 是关键字(不能写错,不区分大小写)
bjpowernode :用户自定义的库名称
“;” 代表一句话的结束,英文输入法下的。

	 2:表(不可以重复的)
	    1:行:在数据库的专业术语中成为“记录”
		     
		 2:列:在数据库的专业术语中成为“字段”
		 
		 3:主键:特征不可以重复具有唯一性,标识一行记录。

   3:库与表的关系:
	    1:一个库可以包含多个表(一对多)
   人与人沟通要使用普通话,人与数据库进行交互,
3: SQL(Structured Query Lanaguage)分类:
	 1: 数据库查询语句:
	    1:英文:DQL(Data Query Language)
		 2:代表关键字:select
	 2:数据库定义语句:
	    1:英文:DDL(Data Denifition Language)
		 2:代表关键字:create ,drop,alter
	 3:数据库操作语句:
	    1:英文:DML(Data Manipulation Language)
		 2:代表关键字:insert,delete,update

	 4:事务控制语句:
	    
	 5:数据控制语句:

4: DQL(Data Query Language):数据库查询语句
1:装备数据:
1:创建数据库
create database bjpowernode;
2:使用数据库
use bjpowernode;
3:导入数据:
source D:\动力节点【Java全栈工程师从入门到项目实战【干货】】\day04\bjpowernode.sql
注意:一定不要添加“;”
2:查询:
语法:
select 字段名称一,字段名称二 from 表的名称;

	    1:查询一个字段(在mysql中大小写不区分)
		    例如:查询员工姓名:select ename from emp;
		 2:查询多个字段
		    例如:查询员工的姓名和工资:select ename,sal from emp;
		 3:查询所有字段(* 代表所有字段的意思)
		    select * from emp;
		 4:字段做运算
		    例如:查询一下员工的:编号(empno),姓名(ename),年薪
		    select empno,ename,sal * 12  from emp;
      5:字段起别名: 
		    select empno,ename,sal * 12 as ysal  from emp;

			 select empno,ename,sal * 12 as '年薪'  from emp;

			 select empno,ename,sal * 12 as "年薪"  from emp;

			 select empno,ename,sal * 12  "年薪"  from emp;
		
      6:带简单条件的查询:
		    例如:查询经理编号,经理姓名,经理年薪 
			       1:先找经理编号,经理姓名和经理工资
					    select	empno,ename,sal from emp where job ='manager';
					 2:查询经理编号,经理姓名,经理年薪
					    select	empno,ename,sal*12 '年薪' from emp where job ='manager';
   2:排序(order by):
	    1:单一字段排序:
		   1:降序(desc):由大到小
		     例如:查询empno ,ename,sal 按照工资由大到小进行排序
			     select empno,ename,sal from emp order by sal desc;
        2:升序(asc):  由小到大
             select empno,ename,sal from emp order by sal asc;
				  select empno,ename,sal from emp order by sal;

				  注意:省略asc 默认为升序
      2:多字段排序:
		        例如:查询empno ,ename,sal 按照工资由小到大进行排序,再按照empno有小到大进行排序
				    
             select empno,ename,sal from emp order by sal asc,empno asc;

		 3:按照字段的位置进行排序:(可读性差,不具有扩展性,在开发的过程中不建议使用)
		       select * from emp order by 6 asc ;
    3:分组函数/聚合函数/多行处理函数:
	     sum,avg,max,min,count
		  
		     例如:查询所有员工每月的工资金额
			     select sum(sal) from emp;
		     例如:求员工的平均工资:(工资总金额/公司总人数)
			     select count(empno) from emp;

			     select count(*) from emp;  -- 效率不高

				  select count(comm) from emp;  -- 如果comm为null 认为没有这条记录

				  select sum(sal)/count(empno) as '员工平均工资' from emp;

				  select avg(sal) from emp;
				例如:查询全体员工中,工资最高是多少钱。

				  select max(sal) from emp;

				例如:查询全体员工中,工资最低是多少钱。

				  select min(sal) from emp;

				 例如:部门平均工资多少钱(部门编号,平均工资)
       4:分组查询(group by)
		        例如:部门平均工资多少钱(部门编号,平均工资)
		           select deptno ,avg(sal) from emp group by deptno;
				  例如:部门平均工资大于2000的(部门编号,平均工资)

				     select deptno,avg(sal) from emp group by deptno  having avg(sal) > 2000;
             例如:部门平均工资大于2000的(部门编号,平均工资),按照升序进行排序
					   select deptno,avg(sal) from emp group by deptno  having avg(sal) > 2000 order by avg(sal);

				   

	异常:
	 1:ERROR 1300 (HY000): Invalid utf8 character string: '\xA1\xB0' ,使用了中文的输入法
发布了20 篇原创文章 · 获赞 0 · 访问量 260

猜你喜欢

转载自blog.csdn.net/weixin_43150344/article/details/104055956