ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:27.41KB ,
资源ID:28249960      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28249960.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库学习入门数据库基础.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库学习入门数据库基础.docx

1、数据库学习入门数据库基础数据库基础入门 - 数据库的作用: - 数据是数据库中存储的基本对象 包括:文字、图形、图像、声音 有组织的、可共享的数据集合 - 常用的DBMS - MYSQL(oracle、Sun) oracle(oracle) SQLServer(Microsoft) DB2(IBM) - 。.如何学习数据库管理系统 - .程序员 1、标准语言:SQL(结构化查询语言) SQL是用于访问 数据库的最常用标准化语言,他是由ANSI/ISO SQL标准定义的 SQL 的分类 DML:数据操作语言(用于检索或者修改数据) DDL:数据定义语言(用于定义数据的结构,比如创建、修改或者删除

2、数据库的对象) DCL:数据控制语言(用于定义数据库用户的权限) DML: select:用于检索数据 insert:用于增加数据到数据库 update:用于从数据库中修改现存的数据 delete:用于从数据库中删除数据 DDL: create table /创建表 alter /修改表 drop table /删除表 create index /创建索引 drop index /删除索引 create view /创建视图 drop view /删除视图 DCL: grant /授权 revoke /撤销授权 set /设置 2、不同数据库的独特管理方式 。DBA(Database Admi

3、nistrator) 1、标准语言:SQL(结构化查询语言) 2、不同数据库的独特管理方式 3、数据库的调优 4、精通数据库的备份、回复机制 - MYSQL的安装与配置 - 安装:选择普通安装类型 。配置 1、选择配置类型:Detailed Configuration 2、选择服务器类型:Developer Machine 3、选择数据库的是使用情况: -多功能数据库(Multifunctional Database) -只是事务处理数据库(Transactional Database Only) -只是非事务处理数据库(Non-Transactional Database Only) 4、I

4、nnoDB表空间文件存储的盘符,默认在c: 5、数据库并发连接数配置:Decision support 6、MYSQL服务器端口:默认:3306 7、Enable Strict Mode:是否允许严格样式检查:取消 8、选择字符编码:手工选择:gb2312,windows下中文支持 9、服务器默认安装到windows系统服务中,默认服务自启动,选择自动配置环境变量 10、填写数据库管理系统的管理员密码 -在mySQL中数据库管理员的用户名为:root 11、是否允许使用root用户远程登录数据库 12、测试配置是否正确c:c:mysqlbinmysqlshow - MYSQL 的登录 - .开

5、始-运行-cmd 。输入:mysql -uroot -p,然后输入密码 .或者:mysql uroot -p密码 。退出quit或者q -不必全在一个行内给出一个命令,较长命令可以输入到多个行中。mysql通过寻找终止分号而不是输入行的结束来决定语句在哪儿结束 等待多行命令的下一行 等待下一行,等待以单引号开始的字符串结束 如果你决定不想执行正在输入过程中的一个命令,输入c取消它 能够以大小写输入关键词,结果是等价的 - 基本的SQL语句 - 创建数据库-create database school; 查看有哪些数据库-show databases; 删除数据库drop database sc

6、hool; - 向数据库中存储数据 - 1、首先进入数据库 use dbname; use类似quit,不需要一个分号,写也无碍 use必须在一个单行上给出 2、查看数据库中的表 show tables; 3、在数据库中创建表 create table student (name varchar(20),age int,sex char(2); 4、向表中插入数据-insert into dbname values(张三,18,男); 5、查看表中所有的数据-select from student; 只查看姓名和年龄-select name,age from student; - 常用的数据类

7、型 - char(M)固定长度字符 用来表示固定长度字符串,字符串的长度是1-255 VARCHAR(M)可变长度字符 具有灵活性的字符数据类型,范围:1255 处理char类型的数据比varchar类型的数据要快,有时会快50(char类型存储的数据的长度是声明变量时的固定长度,而不管数据的实际长度,varchar存储的是按数据的实际长度,从而减小了数据文件的大小) int 整数 有符合的范围:-2147483648到2147483647,无符号范围:0到4294967295 - 其他常用的数据类型 - DATE-日期类型,显示YYYY-MMDD DATETIME-日期和时间的组合,显示YY

8、YYMM-DD HH:MM:SS TEXT/BLOB 文本和大对象 TEXT可以保存字符串的长度在25565535字节内.BLOB是一个能保存二进制数据的大对象,区别是TEXT不区分大小写,而BLOB区分大小写。 SQL语句的导入 1、编写SQL脚本(.sql) 2、导入mysql-uusername p abc。sql 查看表的结构-desc tablename 修改表中的数据-update tablename set colname=value where条件 删除数据-delete from teacher where age=? 删除表中所有数据-delete from teacher

9、; 删除表-drop table tablename 根据条件进行过滤查找-select *from tablename where 条件 查找出版社为“清华出版社的所有书籍-select from books where pub=清华出版社; 查找出库存大于50的所有书籍-select *from books where store50; 查找出“西游记的库存量-select title,store from books where title=西游记; SQL运算符 大于 小于 =大于等于 =小于等于 !=,不等于 查看数据库的信息s - mysql常用函数 - 1、查看数据库版本sele

10、ct versin(); 计算机的时间是存在BIOS() 2、查看当前数据库的日期-select current_date(); 3、查看当前数据库时间-select now(); 4、查看当前连接数据库的用户-select user();localhost:代表是本机 create table user(id int,name varchar(20),bir date,dea datetime); insert into user values(1,zhangsan,now(),now()); or和and查询 or(满足一个条件) and(都需要满足) 查找学生EQ为80分或90分的学生

11、select * from stu where EQ=80 or EQ=90; 查找学生EQ为90分并且性别为女的学生 select from stu where EQ=90 and sex=女; in(x,x)返回条件中的记录与or作用相似 select * from tablename where 条件 in(,); between and返回两者之间的记录 查询年龄在20-30之间的所有学生 select from stu where age between 20 and 30; like与通配符(%)一起使用,模糊查询 查找出姓张的学生 select from stu where na

12、me like 张%; 查询出使用163邮箱的所有学生 select from stu where email like 3。com; 查询出邮箱里面含有a的所有学生 select * from stu where email like %a; order by 实现排序(从小到大)-asc 将学生的年龄从高到低排列 select * from stu order by age desc;(降序) 将学生的年龄从低到高排列 select from stu order by age asc;(升序) 数据默认为升序(从低到高) select * from stu order by age ; a

13、s为查询的列起别名 1、查询所有学生只列出姓名,年龄,性别 select name as 姓名,age as 年龄,sex as 性别 from stu; group by对于查询出的数据结果进行分类(分组) 2、将学生按性别进行分类 select * from stu group by sex; 将学生按年龄进行分类 select * from stu group by age; 3、having 子查询:对于where查询出的结果再次进行查询 查找出年龄大于20岁学生,并且在其中找出姓名等于xxx的学生 select * from stu where age 20 having name=

14、xxx或 select * from stu where age20 and name=xxx 4、distinct 过滤查询的重复型记录,只显示唯一的记录 将学生性别过滤 select distinct(sex) from stu; count 查看表中有几条数据 select count() from stu; select count(distinct(sex) from stu; limit 限制查询结果的输出数量 同时也可以实现数据的分页 查询EQ前三名的学生 select * from stu order by EQ desc limit 3; 实现查询记录的分页 select f

15、rom stu limit 0,3; select from stu limit 3,3; 约束-定义了表级的强制规则、数据的完整性 非空约束(not null) create table test(id int not null); insert into test values(); innodb 会报错 ,myISAM 会整形默认以0填充 唯一约束(UNIQUE) 不允许列中的数据重复 create table test(id int,unique(id); insert into test values(1); 默认约束(default) create table test(id in

16、t not null default111111); insert into test values(); 主键约束(primary key)是一个字段或一组字段(组合键),用于唯一标识表中的记录,它可以 确保每个记录是唯一的。 create table test(id int,primary key(id)); insert into test valuse(1); id主键自增,减 create table test (id int,name varchar(20),primary key(id); insert into test values(1,张安); auto_increment

17、的特点-自增值 当删除某一值时,他不会自动填充,而是继续自增1 create table test(id int not null auto_increment,name varchar(20),primary key(id)); insert into test(name)values(xxx); 创建一个有合理约束的表 create table people(id int not null auto_increment,name varchar(20) not null,age int not null,sex char(2) not null,pcode varchar(50),tel

18、varchar(50),email varchar(50),primary key(id); insert into people(name,age,sex,email) values(张三,28,男,abc163。com); 查询出所有学生的档案信息 select * from student,school where student.daih=school。id;或 select from student as a,school as b where a.daih=b.id; 查询所有学生档案信息 只需显示:学生姓名,年龄。毕业学校,学校地址 select student.name,stu

19、dent。age,school.name,school。addres s from student, school where student.daih=school。id;或 select a。name,a。age,b.name,b.address from student as a, school as b where a。daih=b。id; 外键约束( foreign key) 如何创建外键 foreign key:定义子中的列为外键 references:标记外键所要参考的父表和列 on delete cascade:允许在删除父表的列的同时,删除子表的列 /在InnoDB中支持 c

20、reate datebase fordb; use fordb; 创建父表 create table school(id int not null auto_increment,name varchar(20),primary key(id)engine=innodb; insert into school(name) values(紫琅学院); 创建 子表 create table student(id int not null auto_increment,name varchar(20),schoolid int,primary key(id),foreign key(schoolid)

21、 references school(id) on delete cascade); insert into student(name,schoolid) values(张三,1); ER模型 概述:设计数据库时,通常采用实体关系模型“ER模型 软件开发流程: 需求调研(设计功能,收集数据) 与最终用户进行确定 数据库的设计 控制多余数据 那么在最后,数据库设计者确定表、不同表之间的关系以及每个表之间的关系,通常使用”E-R模型“,它将整个系统看作彼此相关的实体组成 实体:通常用于表示 能够被清晰识别的人、地点、事物、对象、事件 实体关系图:如果需要 基于ER模型建立数据库模型,需要标识实体,

22、实体的属性、以及实体之间的关系。那么通常用E-R图来表示 实体之间的三种类型:1:1 1:N 或N :1 M:N 数据库设计员确定的实体被转换为表,而其属性则成为相应 表中的字段(列) 如何控制冗余数据: 一般来说通过数据库的范式理论 设计数据库的范式来 控制冗余 共有五个范式,一般达到第三范式即可 第一范式:对于表中的每一行,必须且仅仅有唯一的行值,在一行中的每一列仅有唯一的值并且具有原子性 第二范式 :要求 非主键列是主键的子集,非 主键列活动必须完全依赖整个主键。主键必须有唯一性的元素,一个主键可以由一个或更多的组成唯一值的列组成。一旦创建 ,主键 无法改变,外键关联一个表的主键。主外键

23、关联意味着一对多的关系. 第三范式:要求非主键列互不依赖 第四范式:禁止主键列和非主键列一对多关系不受 约束 第五 范式 :将表分割成尽可能 小的块,为了排除在表中所有的冗余 MYSQL的聚合函数 1、最大值 找出EQ最高的学生 select name ,eq from student where eq=(select max(EQ)from student); SELECT MAX(article) AS article FROM shop; 2、最小值 找出EQ最低的学生 select name,min(EQ)from student; count()/统计 查询出的记录总数 3、查询出学

24、生的总条数 select count(name)from student; avg()/求平均值 4、查询学生EQ的平均值 select avg(EQ) from student; sum()/求和 5、查询学生EQ的总和 select sum(EQ) from stu; 修改字段类型 alter table student modify sex char(5); 增加列 alter table student add address varchar(50); 删除列 alter table student drop address; 修改列的名称 alter table student ch

25、ange name names varchar(20); 修改表的名字 rename table student to stu; MYSQL 之表连接 内链接(inner join):又为等值连接,因为他将两个表中的公共字段有相等的值(记录)连接起来,这是最常用的连接.一个表引用还被称为 查询显示:订单编号,顾客姓名,物品名称 select cases.id,user.name,goods。name from cases,user,goods where cases。user_id=user。id and cases.goods_id=goods。id;或 select cases.id,us

26、er.name,goods。name from cases inner join(user,goods) on(user.id=cases。user_id and goods.id=cases。goods_id);或 select cases.id,user。name,goods。name from (cases inner join user on cases。user_id=user.id) inner join goods on cases.goods_id=goods。id;或 select cases。id,user。name,goods。name from user inner j

27、oin(cases inner join goods on cases.goods_id=goods.id) on user。id=cases。user_id); 左连接:显示sql语句中left join 左边表中的所有记录,即使在left join 右边的表中没有满足连接条件的数据也被显示。当满足连接条件时,left join 右边的表中的相应的记录与left join左边表中的相应记录结合显示. 查询出:学生的编号,学生姓名 ,学生学校 select student。name,student。id,school。name from student left join school on student。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1