数据库学习笔记(MySQL)

一、数据库的基本概念1、数据库的作用数据库可以将数据本地化,实现长期保存数据库使用完整的管理系统,便于查询2、
摘要由CSDN通过智能技术生成

 

前言

本人也只是个数据库新手,刚自学学完数据库的基本使用,如果有错误之处,望指正。另,本文中使用的是MySQL5.5以及SQLyog,需要安装的朋友麻烦在网上找资源。


一、数据库的概述

1、数据库的作用

数据库可以将数据本地化,实现长期保存

数据库使用完整的管理系统,便于查询

2、数据库涉及的方面

DB(Database):即数据库,是数据存储的“仓库”。

DBMS(Database Management System):数据库管理系统,创建和操作数据库

SQL(Structure Query Language):结构化查询语言,专门用来与数据库通讯的语言

3、常见的数据库管理系统

MySQL、Oracle、DB2、SqlServer

4、数据库的特点

1)用表存放数据,用库来存放表

2)每个表都有一个唯一的名字,一个库可以存放多个表

3)表具有一些特性,这些特性定义了表中的数据如何存储

4)表由列(也称为字段)组成

5)表中的数据是按行存储的

5、SQL语言的分类

DQL:用于数据库的查询,即Select语句

DML:用于添加(Insert)、删除(Delete)、修改(Update)数据库记录

DDL:用于库和表的创建(Create)、修改(Alter)、删除(Drop)

DCL:数据控制语言,用于定义用户的访问权限和安全级别

TCL:事务控制语言

二、DQL语言

DQL语言是用于数据库的查询,而数据库最重要也是最难的部分就是查询。

1.基本的查询语句

select (想获取的信息)
from (表名);

比如,要获取employees表中的所有信息

select *
from employees;

select后面也可以加特定的列名

select employee_id
from employees;

实际上select就是一个输出语句,你可以在后面接常数或者表达式,当然select 1这样的就不需要用from了

select 1111*1111;

2.列的别名

SQL中,可以在列名后以 AS加别名 的方式为该列设置别名

select employee_id as id
from employees;

需要注意的是,列名如果是关键字则需要用单引号‘ ’括起来。

在为列设置列名的同时,显示的表的列名也会改变                 

 

3.+号的使用

在SQL中, +号仅仅只能用来进行数学运算。比如1+1, 不能用于字符串的拼接. 并且,null与任何数计算后的结果都为null

4.字符串的操作

在SQL中,字符串的拼接不是使用+号,而是需要用concat(str1,str2,...)来拼接

与java一样,SQL中也有substring函数,用于截取字符串; length()用于获取字符串长度

5.条件查询

基本语法

select 列名
from 表名
where 条件

6.条件运算符

>、<、<=、>=都与java一致,下面两种与java有所区别:

<>:不等于,!=也可以表示不等于但不建议使用     =:等于,SQL中单等号表示比较

7.逻辑运算符

and:与,一个条件为false则整个表达式为false

or:或,一个条件为true则整个表达式为true

not:非,得到与表达式的结果相反的结果

8.模糊查询

1)like

用于字符串的比较。在like后面的单引号中,可以用%号表示该位置有0个或多个任意字符,如查询名字中包含‘a’的员工

select last_name
from employees
where last_name like '%a%';

在like后面的单引号中,也可以使用_表示该位置有一个字符,如查询名字第三个字母为'e'的员工

select last_name
from employees
where last_name like '__e%';

2)between and

between 常数1 and 常数2 表示在两个常数间的值,如查询id在100到150之间的员工信息

SELECT *
FROM employees
WHERE employee_id BETWEEN 100 AND 150;

相当于以下代码

SELECT *
FROM employees
WHERE employee_id >= 100 AND employee_id <= 150;

3)in

表示满足多个条件中的一个,如查询job_id为AD_VP或IT_PROG的员工信息

SELECT *
FROM employees
WHERE job_id IN ('AD_VP','IT_PROG');

相当于以下代码

SELECT *
FROM employees
WHERE job_id = 'AD_VP' OR job_id = 'IT_PROG';

4)is null

专门用于判断是否为空,如查找没有manager的员工信息(manager_id为null)

SELECT *
FROM employees
WHERE manager_id IS NULL;

在SQL中,有一种'安全等于'符号<=>,这个符号不仅可以判断是否为0,也可以判断是否为null

SELECT *
FROM employees
WHERE manager_id <=> NULL;
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值