mysql教案讲解(详细).docx
《mysql教案讲解(详细).docx》由会员分享,可在线阅读,更多相关《mysql教案讲解(详细).docx(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1、数据库概述1.1什么是数据库数据库DataBase就是一个存储数据的仓库。为了便利数据的存储和治理,它将数据依据特定的规律存储在磁盘上。通过数据库 治理系统,可有效地组织和治理存储在数据库中的数据。1. 2文件与文件系统所谓“文件”一般指存储在外部介质上数据的集合,是操作系统准确地说是文件 系统治理数据的根本单位。1. 3文件系统和数据库系统之间的区分和联系区分文件系统用文件将数据长期保存在外存上,数据库系统用数据库统一存储数据;文件系统中的程序和数据有肯定的联系,数据库系统中的程序和数据分别;文件系统用操作系统中的存取方法对数据进展治理,数据库系统用DBMS统一治 理和把握数据mysql
2、exit;修改密码mysqladmin -u root - psa(旧密码)password chx(新密码)显示当前存在的数据库mysql show databases;或者多行命令mysql show- databases ;创立一个数据库语法:create database if not exists数据库名称default character set 字符集” mysql create database if not exists dbl default character set “ utf8” ;删除一个数据库语法:drop database if exists数据库名称mysql
3、 drop database dbl;1.1.3 选择数据库并显示当前选择的数据库mysql use mysql;1.1.4 显示当前数据库中存在的表语法:show tables like ” 表达 式” mysql show tables;4.2 SQL数据类型smallint - 16位元的整数。interger或int - 32位元的整数。decimal(p,s) - p准确值和s大小的十进位整数,准确值p是指全部有几个数(digits) 大小值,s是指小数点彳度有几位数。假设没有特别指定,那么系统会设为p=5; s=0 o float-32位元的实数。Double - 64位元的实数。
4、char(n)n长度的字串,n不能超过254。varchar(n)-长度不固定且其最大长度为n的字串,n不能超过4000ogQphic(n)-和char(n) 一样,不过其单位是两个字元double-bytes, n不能超过127。这个形态是为了支援两个字元长度的字体,例如中文字。vargraphic(n)-可变长度且其最大长度为n的双字元字串,n不能超过2000。date -包含了年份、月份、日期。time -包含了小时、分钟、秒。timestamp -包含了年、月、日、时,分、秒、千分之一秒。4.3 主键、外键、索引主键(primary key)能够唯一标识表中某一行的属性或属性组。一个表
5、只能有一个 主键,但可以有多个候选索引。主键经常与外键构成参照完整性约束,防止消灭数据不 全都。主键可以保证记录的唯一和主键域非空,数据库治理系统对于主键自动生成唯一 索引,所以主键也是一个特别的索引。比方学生表里有学号和姓名,姓名可能有重名的,但学号确是唯一的,你要从学生 表中搜寻一条纪录如查找一个人,就只能依据学号去查找,这才能找出唯一的一个,这 就是主键;如:id int(10) not null primary key auto_increment ;自增长的类型外键(foreign key)是用于建立和加强两个表数据之间的链接的一列或多列。外 键约束主要用来维护两个表之间数据的全都性
6、。简言之,表的外键就是另一表的主键, 外键将两表联系起来。一般状况下,要删除一张表中的主键必需首先要确保其它表中的 没有一样外键即该表中的主键没有一个外键和它相关联。索引(index)是用来快速地查找那些具有特定值的记录。主要是为了检索的便利, 是为了加快访问速度,按肯定的规章创立的,一般起到排序作用。所谓唯一性索引, 这种索引和前面的“一般索引”根本一样,但有一个区分:索引列的全部值都只能消灭 一次,即必需唯一。总结:主键肯定是唯一性索引,唯一性索引并不肯定就是主键。一个表中可以有多个唯一性索引,但只能有一个主键。主键列不允许空值,而唯一性索引列允许空值。主键可以被其他字段作外键引用,而索引
7、不能作为外键引用。4.4 数据表操作创立一个表语法:create table if not exists数据表名称(列定义,)例如:mysql create table tbl( id int autojncrement primary key,- name varchar(20);列定义:列名称 数据类型null|not null primary keyuniqueauto_incrementdefault 默认值显示表(db)的内容mysqlselect * from tbl;查看表tbl的字段描述语法:show columns from 数据表语法:describe数据表mysql sh
8、ow columns from tbl;mysql describe tbl;mysql desc tbl;4.4.1 修改数据表语法如下:ALTER TABLE ntable_name 【转变方式】转变方式分:ADD :在表中增加一列,ADD 列名 数据类型CHANGE: 修改表中某一列的名字,CHANGE列名新列名MODIFY:转 变某一列的数据类型,MODIFY列名数据类型DROP:丢弃 某一列1 添加列语法1: alter table数据表名称add列定义first语法2: alter table数据表名称add列定义after列名称语法3: alter table数据表名称add例定
9、义,)例如:mysql alter table tbl add age int first;mysql alter table tbl add age2 int default 10 after id;mysql alter table tbl add sex tinyint default 0;2-删除列语法:alter table数据表名称drop列名称例如:mysql alter table tbl drop age3 修改列定义语法:alter table数据表名称modify列名称 数据类型例如:mysql alter table tbl add memo varchar(lOO);
10、mysql alter table tbl modify memo char(l);mysql desc tbl;4-修改列名称及定义语法:alter table数据表名称change旧列名称 新的列名称 列定义例如:mysql alter table tbl change memo memol varchar(200);修改数据表名称语法:alter table数据表名称rename新表名称例如:mysql alter table tbl rename user;删除数删除数据表语法:drop table if exists数据表名称清空数据表语法:TRUNCATE TABLE ”表格名“如
11、清空grade表:TRUNCATE TABLE grade4.4,8插入记录语法:INSERT INTO “表格名”(“列 1”,“列 2”,)VALUES (“值 1”,“值 2”,;例如向student表中插入一条学生记录:INSERT INTO student (name, gender, birth,class)VALUES( Sun Nan , M , 1973-03-19 );注:由于id字段为自增长的,所以可以不用指定值,另,插入的时候假设指定列的 值为唯一属性的话那么插入一样的值时会失败。比方说在student表中,不能存在两条 id为2的记录,但可以存在两条name为“Sun
12、 Nan”的记录。4,4.9更新记录格式:UPDATE “表格名 SET列1 =新值1,列2=新值2WHERE 条件;如我们修改“Sun Nan”同学的诞生日期为“1972-08-29” ,所在的班级id为2, 执行的语句为:UPDATE student SET birth= 1972-08-29, , class=2 WHERE name= Sun Nam;删除记录格式:DELETE FROM ”表名 WHERE 条件如从grade表中删除studentjd为2的记录:DELETE FROM grade WHERE studentjd=2;假设要删除表中全部的数据:DELTE FROM gr
13、ade;5.练习创立学生表student :create table studentidname gender birth classint auto increment, varchar(32), int default 1, varchar(20)zint,primary key (id);创立班级表classcreate table class(int not null,varchar(32)zvarchar(20),varchar(32)zidclass_name begin_timeteacherprimary key (id);创立成绩表grade:create table gra
14、de (int auto increment,int,int,int,int,varchar(20),idstudentjdclassChinesemathexam_timeprimary key (id);6. select 语句SELECT语句主要被用于查询数据库中的一个或多个表里的数据。格式:SELECT FROM 例如:mysql select * from user;mysql select name from user;很多子句及它们的结合都可以用于SELECT语句中:FROM:指定从哪些表中猎取数据DISTINCT:消退重复的记录行WHERE:只返回满足特定条件(也叫过滤器)的记
15、录行ORDERBY:依据表达式列表排序记录LIMIT:返回特定局部的数据,而不是全部的结果集格式:SELECT DISTINCT FROM WHERE ORDER BY LIMIT 使用 FROM FROM子句在SELECT语句中是可选项,它消灭在语句的表达式之后 FROM子句指定语句要处理的表。 表的别名在SQL语句里,在FROM子句里引用的表可以给定一个临时的名称,该名称 叫做表的别名。 例如:mysql select id, name, sex, age from user where id = 1;mysql select u.id, u.namez u.sex, u.age from
16、 user u where id = 1;6.1 使用 DISTINCT假设查询的结果中包含重复的记录,该重复记录要被删除以生成每行都是唯一 的结果集。为了到达这个目的,可在SELECT关键字后添加DISTINCT关键字。 在指定的列里,DISTINCT将全部的NULL值当作一样的值。 例如:mysql select distinct work from user;使用WHERE MySQL支持很多不同类型的运算符,这依靠于操作数的数据类型,或操作数与 运算符处理的值的数据类型。- 运算比拟- 规律例如:mysql select * from user where age select * f
17、rom user where age 30 and (work= java” or work= c+ + ” );mysql select * from user where age 30 and work in( java, C+ + ” );6.4 关于 NULL假设有一个操作数的结果是NULL,那么大多数运算符的求值结果也会是NULLo当NULL值表达式在函数中被用于操作数时,运算符将产生NULLoWHERE子句也有一样的状况,WHERE子句会丢弃那些条件不是TRUE的记录。例如:mysql select NULL+age from user;文件系统实现以文件为单位的数据共享,数据库系
18、统实现以记录和字段为单位的数 据共享。1.3.2 联系(1)均为数据组织的治理技术;(2)均由数据治理软件治理数据,程序与数据之间用存取方法进展转换;(3)数据库系统是在文件系统的根底上进展而来1.3.3 读写数据库与读写文件哪个更快1.4数据存储方式学校需要存储学生和教师信息公司需要存储员工信息和公司的资料这些数据或者信息是如何存储的?数据存储方式经受了三个阶段:人工治理阶段、 文件系统阶段、数据库系统阶段(注:新兴数据存储系统一例如google的bigtable)。1.4.1 人工治理阶段磁带、磁盘、手工记录文件系统阶段数据存储在计算机的磁盘上,数据以文件的形式消灭,通过文件系统来治理这些
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- mysql 教案 讲解 详细
限制150内