数据库整理笔记(一)

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 没有条件 立即生效
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值