前言
想把基础打的扎实些,所以会尽量把学到的都整理到博客上,相信大家同为小白都能看得懂哈哈!
正文
1 数据库和SQL概述
1.1 数据库简介
数据库指的是长期存在计算机内、有组织、可共享的、大量数据的集合。数据是按照特定的数据模型来组织、存储在数据库中的。
1.2 数据库的好处
1.持久化数据到本地
2.可以实现结构化查询,方便管理
1.3 数据库相关概念
-
DB(database):数据库,保存一组有组织的数据的容器
-
DBMS(Database Management System):数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据。我们常说的学数据库其实应该是学数据库管理系统,学怎么管理数据库。
-
常见DBMS:MySQL、Oracle、DB2、SqlServer等
-
-
SQL:结构化查询语言,用于和数据库通信的语言
1.4 SQL的语言分类
-
DML(Data Manipulate Language):数据操纵语言,用于添加、删除、修改数据库记录,并检查数据完整性。
关键字:insert, delete, update 等。
-
DDL(Data Define Languge):数据定义语言,用于库和表的创建、修改、删除
关键字:create, drop,alter等。
-
TCL(Data Control Language):事务控制语言
-
DQL(Data Query Language):数据查询语言,用来查询数据库中表的记录(数据)
关键字:select, where 等。
-
还有其他各种分类,这里就不一一列出。
2 MySQL的使用
2.1 MySQL服务的启动和停止
方式一:计算机——右击管理——服务——MySQL
方式二:通过管理员身份运行cmd命令提示行
net start mysql(启动服务)
net stop mysql(停止服务)
2.2 MySQL服务的登录和退出
方式一:通过MySQL自带的客户端 只限于root用户
方式二:通过cmd命令提示行关闭,如未配置MySQL环境变量,需在MySQL安装的bin下启动cmd
登录: mysql 【-h主机名 -P端口号 】-u用户名 -p密码 【】中的内容在连接本地数据库可省略
退出: exit或ctrl+C
2.3 MySQL的语法规范
1.不区分大小写。
2.使用“;”结尾,其实还有一种,不过还是分号好看些。
3.各子句一般分行写。
4.关键字不能缩写也不能分行。
5.合理使用缩进。
6.注释
单行注释:#注释文字
单行注释:-- 注释文字
多行注释:/* 注释文字 */
2.4 DQL语言
简单查询
1. 查询表中所有记录
* select * from 表名;
-------------------------------------------------------------------------
2. 基础查询
1. 多个字段的查询
select 字段名1,字段名2... from 表名;
* 注意:
* 如果查询所有字段,则可以使用*来替代字段列表。
2. 去除重复:
* distinct
3. 计算列
* 一般可以使用四则运算计算一些列的值。(一般只会进行数值型的计算)
* ifnull(表达式1,表达式2):null参与的运算,计算结果都为null
* 表达式1:哪个字段需要判断是否为null
* 如果该字段为null后的替换值。
4. 起别名:
* as(可以省略,用空格代替)
条件查询
1.格式: where子句后跟条件
2. 运算符
* > 、< 、<= 、>= 、= 、<>(不等于)
* BETWEEN...AND
* IN( 集合)
* LIKE:模糊查询
* 占位符:
* _:单个任意字符
* %:多个任意字符 (转义在前面加“/“)。
* IS NULL :sql中判断非空不能用等号,因为null在sql中被看作特殊符号,必须使用关键字 is和not。
* and 或 && 同真则真,一假则假。
* or 或 || 一真则真,全假则假。
* not 或 ! 取反。
结言
一道小面试题:
Select * from employees;
和
Select * from employees where commission_pct like '%%' and last_name like '%%';结果是否一样?并说明原因。
#不一样,因为 commission_pct 可能是空值 。