学习笔记输出来源:拉勾教育Java就业急训营
修改时间:2021年1月20日
作者:pp_x
邮箱:[email protected]
数据库
数据库基本概念
- 数据库是存储和管理数据的仓库
- 本质是一个文件系统,以文件的形式保存在电脑上。
存储方式 |
优点 |
缺点 |
内存 |
速度快 |
不可以永久保存,临时性 |
文件 |
数据永久保存 |
使用io流操作,不方便 |
数据库 |
数据永久保存;方便存储和管理数据;实现统一的方式操作数据库 |
占有资源 |
SQL
SQL概念
- 结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统
SQL的作用
- 是所有关系型数据库的统一查询规范,不同的关系型数据库都支持SQL
- 所有的关系型数据库都可以使用SQL
- 不同数据库之间的SQL有一些方言
SQL通用语法
- SQL语句可以单行可以多行编写,以分号结尾
- 使用空格键和缩进来提高可读性
- MySQL中不区分大小写,一般关键字大写。数据库名、表名、列名小写
SQL的分类
- 数据定义语言:简称
DDL(Data Definition Language)
,用来定义数据库对象:数据库,表,列
- 数据操作语言:简称
DML(Data Manipulation language)
,用来对数据库中的表的记录进行更新
- 数据查询语言:简称
DQL (Data Query Language)
,用来对数据库数据查询
- 数据控制语言:简称
DCL(Data Control Language)
,用来定义数据库的访问权限和安全级别及创建用户
DDL操作数据库
- create database 数据库名;————创建指定名称的数据库
- create database 数据库名 default character set 字符集;——————创建指定名称并指定字符集的数据库(一般是utf-8)
查看/选择数据库
命令 |
说明 |
use 数据库 |
切换数据库 |
select database(); |
查看当前正在使用的数据库 |
show databases; |
查看Mysql中 都有哪些数据库 |
show create database 数据库名; |
查看一个数据库的定义信息 |
修改数据库
命令 |
说明 |
alter database 数据库名 character set 字符集; |
数据库的字符集修改操作 |
删除数据库
命令 |
说明 |
drop database 数据库名 |
从MySql中永久的删除某个数据库 |
DDL操作数据表
- MySQL数据类型
创建表
CREATE TABLE 表名(
字段名称1 字段类型(长度),
字段名称2 字段类型 注意 最后一列不要加逗号 );
create table 新表明 like 旧表名
查看表
show tables;————————查看当前数据库中的所有表名
desc 表名;————————查看数据表的结构
删除表
drop table 表名;—————— 删除表(从数据库中永久删除某一张表)
drop table if exist 表名;————————判断表是否存在, 存在的话就删除,不存在就不执行删除
修改表
rename table 旧表名 to 新表名
alter table 表名 character set 字符集
alter table 表名 add 字段名称 字段类型
- 修改表中列的 数据类型或长度 , 关键字
MODIFY
alter table 表名 modify 字段名 字段类型
alter table 表名 change 旧列名 新列名 类型(长度)
alter table 表名 drop 列名;
DML操作表中的数据
插入数据
insert into 表名 (字段名1,字段名2...) values(字段值1,字段值2...);
INSERT INTO student (sid,sname,age,sex,address) VALUES(1,'孙悟空',20,'男','花果 山');
INSERT INTO student VALUES(2,'孙悟饭',10,'男','地球');
INSERT INTO category (cname) VALUES('白骨精');
更改数据
update 表名 set 列名 = 值
update 表名 set 列名 = 值 [where 条件表达式:字段名 = 值 ]
删除数据
delete from 表名
truncate table student;
delete from 表名
; 不推荐. 有多少条记录 就执行多少次删除操作. 效率低,可以条件删除
truncate table 表名
: 推荐. 先删除整张表, 然后再重新创建一张一模一样的表. 效率高
DQL查询数据
select 列名 from 表名
条件查询
- 如果查询语句中没有设置条件,就会查询所有的行信息,在实际应用中,一定要指定查询条件,对记录进行过滤
select 列名 from 表名 where 条件表达式
* 先取出表中的每条数据,满足条件的数据就返回,不满足的就过滤掉
运算符 |
功能 |
> < <= >= = <> != |
大于、小于、大于(小于)等于、不等于 |
BETWEEN …AND… |
显示在某一区间的值 |
IN(集合) |
集合表示多个值,使用逗号分隔,例如: name in (悟空,八戒) |
LIKE ‘%张%’ |
模糊查询 |
IS NULL |
查询某一列为NULL的值, 注: 不能写 = NULL |
运算符 |
功能 |
And && |
多个条件同时成立 |
Or |
多个条件任一成立 |
Not |
不成立,取反。 |
通配符 |
功能 |
% |
表示匹配任意多个字符串 |
_ |
表示匹配 一个字符 |