数据库基础

一、数据库的发展史
(1)手工管理:藏书阁,图书馆。
优点:分类管理,直观性强
缺点:信息流动慢,不方便
(2)文件管理:计算机文件系统,图书管理系统
优点:分类管理,层次分明
缺点: 查找不方便
(3)数据库管理:
优点:存取数据非常方便.
缺点:有数据的安全隐患。
二、数据库概念
数据库(DataBase),简称DB,按照某一特定数据结构来组织,存储数据的仓库。
数据库管理系统(DataBase Management System),简称DBMS.
是为了建立,操作和维护数据库而设计的一个程序。介于用户和数据库之间。
PS: 使用SQL语言,通过DBMS来管理DB。
三、关系型数据库
(1)所谓的关系,指的就是表,或者表与表之间。关系模型,就是表的行与列。
比如 教师(教师编号,姓名,年龄,性别,科目)。
(2)常用的关系型数据库:
大型:Oracle–甲骨文(Oracle)公司的产品
SqlServer–Microsoft旗下的产品
DB2–IBM旗下的产品
小型:Access–MicroSoft旗下的产品
Mysql–目前是甲骨文旗下的产品
四、Mysql
1)Mysql是一个关系型数据库,最开始是瑞典的MysqlAB公司的产品,
后来被Sun公司收购,在2009年4月20号Sun公司被Oracle收购.
2)Mysql特点
–mysql是开源的,不会产生额外的费用。
–mysql支持大型数据库,比如可以管理上千万条记录的数据库。
–mysql支持多操作系统,支持多语言连接:C,C++,java,PHP….
–mysql成本比较小,相比较Oracle和DB2。
3)Mysql的安装(略)
服务端的安装:DB和DBMS的安装
客户端的安装:自带的客户端 第三方客户端
4)Mysql的连接和使用
连接方式:
(1)使用命令提示符界面(保证环境变量配置成功
第一步:输入命令+参数,发送请求连接
mysql -u username -p 回车
enter password: ……
第二步:创建数据库
create database bd1802 default character set utf8;
第三步:选择数据库
use bd1802
(2)使用客户端连接:(选择sqldeveloper).
第一步:配置第三方jdbc驱动程序
工具->首选项->数据库->第三方驱动程序->
添加条目->选中你的jar包->确定
第二步:新建连接

   连接名:随便起,就是一个连接昵称而已
   用户名:使用什么用户进行连接
   密码:.....
   主机名: 数据库所在的主机IP
   端口号:3306
   选择数据库:如 bd1802

五、表(Table)
表是关系型数据库的基本存储结构。
1)表是二维数据结构,有行和列
2)行(Row)是横排数据,也叫记录(Recond)
3)列(Column)是竖排数据,也叫字段(Field)
4)行与列的交叉点是 字段值
5)表与表之间也存在关系
六、数据库支持的数据类型
MySQL支持多种类型,大致可以分为三类:
数值、日期/时间和字符串(字符)类型。
数值类型:

类型 大小 范围(有符号) 用途
TINYINT 1 字节 (-128,127) 小整数值
SMALLINT 2 字节 (-32 768,32 767) 大整数值
MEDIUMINT 3 字节 (-8 388 608,8 388 607) 大整数值
INT或INTEGER 4 字节 大整数值
BIGINT 8 字节 极大整数值
FLOAT 4 字节 单精度浮点数值
DOUBLE 8 字节 双精度浮点数值
DECIMAL 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 依赖于M和D的值
依赖于M和D的值小数值

日期和时间类型:
DATE 3 1000-01-01/9999-12-31 YYYY-MM-DD 日期值
TIME 3 ‘-838:59:59’/’838:59:59’ HH:MM:SS 时间值或持续时间
YEAR 1 1901/2155 YYYY 年份值
DATETIME 8 1000-01-01 00:00:00 YYYY-MM-DD HH:MM:SS 日期和时间值
/9999-12-31 23:59:59
TIMESTAMP 8 1970-01-01 00:00:00/2037 年某时 YYYYMMDD HHMMSS 时间戳

字符串类型:
CHAR 0-255字节 定长字符串 char(10)
VARCHAR 0-65535 字节 变长字符串
TINYBLOB 0-255字节 不超过 255 个字符的二进制字符串
TINYTEXT 0-255字节 短文本字符串
BLOB 0-65 535字节 二进制形式的长文本数据
TEXT 0-65 535字节 长文本数据
MEDIUMBLOB 0-16 777 215字节 二进制形式的中等长度文本数据
MEDIUMTEXT 0-16 777 215字节 中等长度文本数据
LOGNGBLOB 0-4 294 967 295字节 二进制形式的极大文本数据
LONGTEXT 0-4 294 967 295字节 极大文本数据

七、结构化查询语言(SQL)
结构化查询语言(Structured Query Language),简称SQL,
是数据库 的标准查询语言。可以通过DBMS对数据库进行定义数据,操纵数据
查询数据,数据控制等
SQL可以分为:
1)数据定义语言(DDL):Data dafinitaon Language
–建表语句:create table tableName(colName Type1,colName Type2……);
–显示表结构–desc tableName
–show columns from tableName;
–添加表字段语句:向表最后追加新字段
–格式:alter table tableName add (colName Type);
–删除表字段语句
–格式:alter table tableName drop colName;
–修改表字段类型
–格式:alter table tableName modify colName newType;
–修改表字段名称
–格式:alter table tableName change oldColName newColName newType;
–修改表名
–格式:alter table oldName rename newName;
–清空表结构(清空表里的数据 无法回收)
–格式:truncate table tableName;
–删除表结构,即删除表对象
–格式:drop table tableName
–创建数据库
–格式:create database databaseName default character set character
–删除数据库
–格式:drop database databaseName;
2)数据操纵语言(DML):Data M……. Language
–插入数据
–格式:insert into tableName values(value1,value2,…);必须按照建表字段顺序赋值
–格式:insert into tableName(colName1,colName2,….) values(value1,value2,…);给指定字段赋值 3)事物控制语言(TCL):Transation Control Language
–delete关键字:删除表中数据
–格式:delete from tableName[where 条件]
–where 条件
–格式:where colName 关系运算符 value [or|and 条件2]
–update:修改表中的数据
–格式: update tableName set colName1=value1[,colName2=value2] [where 条件]
–空值操作:在条件中应该使用is或is not 不能使用关系运算符
– 在update字句中,可以使用关系运算符
4)数据查询语言(DQL):Data Query Language
–SQL之DQL
–基本查询语句
–格式:select字句 from字句
–select colName[,colName…] from tableName;
–给列起别名
–select ename [as] “员工姓名”[,colName as nickName tableNickName]
–where字句
–在增删改查时起到限制的作用
–格式:select colName from tableName where 条件
–集合写法:in|not in
–and:not in or:in
–范围查询:1.可以用>,>=,<,<=
– 2.between and 相当于闭区间[]
– 格式:colName [not] between val1 and val2
–集合的其他用法: 注:mysql数据库中,集合元素的来源只能基于一张表的查询 不能写定值
–all与any
–格式:>all(元素1,元素2,元素3,,,)大于集合中最大的元素

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值