Day31

今天专注学习时间5个半小时。还可以,学着数据库了,这个星期应该可以学完,因为之前专业有学到一部分,加油OVO

Day31

 

做了个很基本的Bank项目,就运用了面向对象的一些基础,很多基础知识都忘记了,但是通过这个,还是理解了很多,代码有点多,而且冗余,就不放上来了。

这周末有点忙,所有现在要抓紧每一天的学习时间,前两天也有在学习,只不过不知道要写什么笔记,所以没更新,今天继续开始学数据库,会继续更新个人笔记,加油OVO。

 

MySQL

小提示:一般存储生日不存储年龄,生日不会变,年龄会一直变。

DB:数据库(database):存储数据的“仓库”。它保存了一系列有组织的数据

DBMS:数据库管理系统。数据库是通过DBMS创建和操作的容器。

SQL:结构化语言 :专门用来与数据库通信的语言

服务器先启动,再启动客户端

 

 

命令行启动

mysql -u用户名 -p密码

mysql -h 主机号 -P 端口号 -u 用户名 p密码

 

MySQL基础查询语句

#进阶1:基础查询
/*
语法:
select 查询列表 from 表名;


类似于:System.out.println(打印东西);

特点:

1、查询列表可以是:表中的字段、常量值、表达式、函数
2、查询的结果是一个虚拟的表格
*/

USE myemployees;

#1.查询表中的单个字段

SELECT last_name FROM employees;

#2.查询表中的多个字段
SELECT last_name,salary,email FROM employees;

#3.查询表中的所有字段

#方式一:
SELECT
   `employee_id`,
   `first_name`,
   `last_name`,
   `phone_number`,
   `last_name`,
   `job_id`,
   `phone_number`,
   `job_id`,
   `salary`,
   `commission_pct`,
   `manager_id`,
   `department_id`,
   `hiredate`
FROM
  employees ;
#方式二:  
SELECT * FROM employees;

#4.查询常量值
SELECT 100;
SELECT 'john';

#5.查询表达式
SELECT 100%98;

#6.查询函数

SELECT VERSION();


#7.起别名
/*
①便于理解
②如果要查询的字段有重名的情况,使用别名可以区分开来

*/
#方式一:使用as
SELECT 100%98 AS 结果;
SELECT last_name AS 姓,first_name AS 名 FROM employees;

#方式二:使用空格
SELECT last_name 姓,first_name 名 FROM employees;


#案例:查询salary,显示结果为 out put
SELECT salary AS "out put" FROM employees;


#8.去重


#案例:查询员工表中涉及到的所有的部门编号
SELECT DISTINCT department_id FROM employees;


#9.+号的作用

/*

java中的+号:
①运算符,两个操作数都为数值型
②连接符,只要有一个操作数为字符串

mysql中的+号:
仅仅只有一个功能:运算符

select 100+90; 两个操作数都为数值型,则做加法运算
select '123'+90;只要其中一方为字符型,试图将字符型数值转换成数值型
如果转换成功,则继续做加法运算
select 'john'+90; 如果转换失败,则将字符型数值转换成0

select null+10; 只要其中一方为null,则结果肯定为null

*/

#案例:查询员工名和姓连接成一个字段,并显示为 姓名


SELECT CONCAT('a','b','c') AS 结果;

SELECT
CONCAT(last_name,first_name) AS 姓名
FROM
employees;


 

语法:

select 查询列表 from 表明;

特点:

1、查询的结果 是一个虚拟表

2、select 类似于 System.out.println();

select 后面跟着查询列表,可以有多个部分组成,中间用逗号隔开。

select 字段1 ,字段2,表达式 from 表;

 

执行顺序-select frist_name from employee。

① from子句

② select子句

 

一、查询常量

select 100;

 

二、查询表达式

select 100%3;

 

三、查询单个字段

select last_name from employee

 

四、查询所有字段

select * from employee

 

五、查询函数

SELECT DATABASE();

SELECT VERSION();

SELECT USER();

 

六、起别名

方式一:使用AS关键字

SELECT USER() AS 用户名 ;

SELECT USER() AS "用户名" ;

SELECT USER() AS '用户名' ;

下面这个例子,就要用双引号。

SELECT last_name AS "姓 名" form employees ;

 

方式二:使用空格

SELECT USER() 用户名 ;

SELECT USER() "用户名" ;

SELECT USER() '用户名' ;

 

七、实现拼接

使用concat拼接函数

SELECT CONCAT (first_name,last_name) AS "姓 名" from employee。

MySQL中+的作用:

1、加法运算

①两个操作数都是数值型- ---->100+1.5

②其中一个操作数为字符型,将字符型数据强制转换为数值型,如果无法转换,则直接当作0处理。

'张无忌' +100 =====>100

③其中一个操作数为null

null + 100==== > null

null + null ==== > null

 

八、F12,美化格式。

 

 

九、distinct的使用,去重

SELECT DISTINCT id FROM empolyee。

 

十、查看表的结构

DESC empolyee

SHOW COLUMNS FROM employee。

 

IFNULL(表达式一,表达式二)

表达式1:可能为null的字段或表达式

表达式2:如果表达式1为null,则最终结果显示的值

功能:如果表示式1为null,则显示表达式2,否则显示表达式1。

 

今日份小练习

  1. 下面的语句是否可以执行成功

    select last_name , job_id , salary as sal from employees;

  2. 下面的语句是否可以执行成功

    select * from employees;

  3. 找出下面语句中的错误

    select employee_id , last_name, salary * 12  “ANNUAL SALARY”   from employees;

    #这里的last_name后面的,用了中文,。要用英文,

     

  4. 显示表 departments 的结构,并查询其中的全部数据

    DESC DEPARTMENTS
    SELECT * FROM DEPARTMENTS

     

  5. 显示出表 employees 中的全部 job_id(不能重复)

    SELECT DISTINCT job_id FROM EMPLOYEES

     

  6. 显示出表 employees 的全部列,各个列之间用逗号连接,列头显示成 OUT_PUT

SELECT CONCAT(employee_id,',',first_name,',',last_name,',',salary,',',IFNULL(commission_pct,''))
AS "OUT_PUT" FROM EMPLOYEES
#出现了一堆null,所以要对commission_pct进行修改

 

如何将sql文件导入mysql

又学到了个小操作

第一步:打在开始界面中找到mysql

第二步:双击打开mysql软件。并输入密码。

第三步:如果sql文件的内容中有创建数据库的语句或者你想将表存放在你已有的数据库,在这里就不用创建数据库。

第四步:输入“show databases;”就能看到自己创建的数据库。

第五步:输入“use 数据库名”,开始使用这个数据库。

第六步:开始导入sql文件,输入“source sql文件的路径”(注意你的文件路径要是复制来的,要将""全部换成“/”)

第七步:输入“show tables”,你就会看到你导入的表了。

posted @ 2021-04-14 21:50  独眼龙  阅读(93)  评论(0)    收藏  举报