java 开发:
技能:
java 编程语言
数据库(数据管理)
网页基础(前端)
一、数据库的介绍
1)数据库的定义
通俗:存放数据的仓库
定义:数据库(DataBase 简称DB)是一个软件产品·,数据库按照数据结构组织、存储、管理数据的,建立
2)数据库特点:
数据共享
数据一致性和可维护性:
安全性
完全性控制
并发控制
数据恢复
3)主流数据库产品
关系型数据库:
mysql:小型的关系数据库
特点:体积小、速度快、总体拥有成本低、开放源码
oracle: 著名的甲骨文公司(oracle)的数据库产品
特点:它是世界上第一个商品化数据库管理系统。
DB2:
Sybase:美国Sybase公司的关系型数据库管理系统
特点:较早采用客户端\服务器技术数据库厂商,运行在Unix或Windows NT平台上
Sql server:微软产品,运行在Windows NT平台上
特点:支持客户端\服务器
access:
非关系型数据库
二、SQL语言
1)关系型数据库:
描述两个元素之间的关联或对应关系,使用关系模型把数据组织到二维表
2)二维表 table
表示二维结构 由行和列组成
横向为行也叫记录,用于表示实体数据
纵列为列也叫字段,用于表示实体属性
ps:
表:封装对象
记录:具体实例对象
字段:实例对象拥有属性
一个关系型数据库由多个数据表组成的,数据表是
关系型数据库的基本存储结构。
3)SQL定义
结构化查询语言(Structured Query Language)
专门用于跟数据库通信的语言
用于存储数据、查询、更新和管理
4)SQL特点
关系型数据库都是能支持的,有细微不同
5)SQL划分
数据定义语言:DDL
负责数据库对象的定义(表结构的定义)
常用语句:[针对结构而言]
create:创建数据库对象(创建表示结构)
alter:修改表结构
drop:删除表结构(彻底)
truncate:清空表数据保留表结构
数据操纵语言:DML
实现对表中数据进行增加、删除、更新、查询
常用语句:[针对数据而言]
insert:增加数据
delete:删除数据
update:更新数据
数据查询语言:DQL
实现查询操作
常用语句:
select:查询(基础查询 -> 子查询 -> 表间关联查询)
数据控制语言:DCL
实现权限的授予和回收
常用语句:
grant:授予权限
revoke:回收权限
create user:创建用户
事务处理语言:TPL
结合DML(insert\update\delete)使用,用于进行确认和取消操作
常用语句:
commit:确认提交
rollback:回滚(撤销操作)
savepoint:保存点(用于回滚到指定保存点)
DDL(结构) -> DML (数据) -> TPL(结合DML) -> DQL(查询) -> DCL(权限)
三、Mysql介绍
开发首选数据库
特点:支持多线程处理、支持大型数据库,为多种编程语言提供API,多种数据库连接途径
1)查看数据库
show databases;
2)创建数据库
create database 数据库名
default character set utf8;
3)使用指定的数据库
use ssm;
4)查看表
show tables;
5)创建表
create 表结构
create table 表名(
字段名 数据类型,
字段名 数据类型
);
6)查看表结构
desc 表名; 或 show columns from 表名;
7)查看系统时间
select now() from dual;
或
select now();
ps:
右击->编辑->标记(选中)-> 复制(Enter 回车键)
8)编码
-- 查看
show variables like 'char%';
-- 设置 当前会话有效
set names gbk
四、Mysql 常用数据类型
1)数值:
int 整数
double(m,d):m表示数字总位数(有效位数)
d表示小数位数(自动四舍五入处理)
2)字符:(字符数据必须加引号)
char(n):定长字符串,n代表’字符‘个数
varchar(n):变长字符串(节省空间)
3)日期时间:
date:日期
datetime:日期时间
五、表结构操作(DDL)
1)创建表结构
语法:
create table 表名(
);
ps:
1、表名不u能重复
2、关键单词字写正确
3、
4、
创建:
create table dept_xu(
deptno int,
dname varchar(10),
location varchar(10)
);
查看表结构
desc dept_xu;
或
show columns from dept_xu;
2)修改表结构:
-- 增加字段
alter table 表名 add 字段名 类型;
-- 部门表中增加‘描述’字段
alter table dept_xu add des varchar(20);
-- 修改字段
alter table 表名 modify 字段 新类型;
-- 修改列名
alter table emp_xu change 原字段 新字段 类型;
-- 删除字段
语法:
alter table 表名 drop 字段名;
3)删除表
truncate:清空表数据保留表结构
drop : 彻底删除
truncate table dept_xu;
drop table dept_xu;
ps:
表结构 DDL
create :创建结构
drop:删除表
alter:修改表(add\modify\change\drop)
六、表数据操作 DML
①增加数据:insert
语法:
-- 方式一:全部字段 值按照表结构一一对应
insert into 表名 values (值1,值2);
insert into dept_xu values(2,'行政部','杭州');
-- 方式二:指定字段 值按照指定字段一一对应
insert into 表名(字段1,字段2) values(值1,值2);
insert into dept_xu(deptno,dname,location) values(10,'研发部','广州');
insert into dept_xu(deptno,dname,location) values(20,'行政部','杭州');
insert into dept_xu(deptno,dname,location) values(30,'人事部','苏州');
insert into dept_xu(deptno,dname,location) values(40,'营销部','北京');
insert into dept_xu(deptno,dname,location) values(50,'市场部','深圳');
-- 查询部门数据
select 字段名 from 表名
select deptno,dname,location from dept_xu;
(DML)insert执行控制台默认自动提交的
set autocommit=0; //不自动提交
commit;//手动提交
create table temp(
name varchar(8),
age int
);
insert into temp(name,age) values('张三',20),('李四',19);
select name,age from temp;
②更新数据:
语法:
-- 更新所有记录
update 表名 set 字段=新值,字段=新值;
-- 有条件更新
update 表名 set 字段=新值,字段=新值 where 条件;
-- 跟新部门中40号部门地址修改为’上海‘
update dept_xu set location='上海' where deptno=40;
③删除数据:
语法:
-- 删除所有记录
-- 效果等同于DDL中truncate使用
delete from 表名;
-- 有条件删除
delete from 表名 where 条件;
delete from dept_xu where deptno=2;
-- 插入一条记录 50 后勤部
insert into dept_xu(deptno,dname) values(70,'后勤部');
-- delete 与 truncate 区别:
delete:DML可以带有条件 确认提交 未提交可以回滚
truncate: DDL 没有条件 立即生效