收藏 分享(赏)

MYSQL经典基础教程课件.ppt

上传人:精品资料 文档编号:11110653 上传时间:2020-02-07 格式:PPT 页数:38 大小:270.50KB
下载 相关 举报
MYSQL经典基础教程课件.ppt_第1页
第1页 / 共38页
MYSQL经典基础教程课件.ppt_第2页
第2页 / 共38页
MYSQL经典基础教程课件.ppt_第3页
第3页 / 共38页
MYSQL经典基础教程课件.ppt_第4页
第4页 / 共38页
MYSQL经典基础教程课件.ppt_第5页
第5页 / 共38页
点击查看更多>>
资源描述

1、北京传智播客教育,SQL 入门,北京传智播客教育,MySQL简介,数据库简介 SQL Server、Oracle、 MySQL、DB2、 SyBase MySQL数据库的安装和配置 使用命令行窗口连接MYSQL数据库 mysql u用户名 p密码,北京传智播客教育,数据库服务器、数据库和表的关系,MySQL,DB,DB,表,表,表,Client,所谓安装数据库服务器,只是在机器上装了一个数据库管理程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。 为保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体的数据。 数据库服务器、数据库和表的关系如图所示:

2、,北京传智播客教育,数据在数据库中的存储方式,id=1 name=“lisi” age=23,User对象,User表,id=2 name=“wang” age=24,行(row),列(column),表的一行称之为一条记录 表中一条记录对应一个java对象的数据,User对象,北京传智播客教育,创建数据库,CREATE DATABASE IF NOT EXISTS db_name create_specification , create_specification . create_specification: DEFAULT CHARACTER SET charset_name | DE

3、FAULT COLLATE collation_name,CHARACTER SET:指定数据库采用的字符集 COLLATE:指定数据库字符集的比较方式 练习: 创建一个名称为mydb1的数据库。 创建一个使用utf-8字符集的mydb2数据库。 创建一个使用utf-8字符集,并带校对规则的mydb3数据库。,北京传智播客教育,查看、删除数据库,显示数据库语句: SHOW DATABASES显示数据库创建语句: SHOW CREATE DATABASE db_name数据库删除语句: DROP DATABASE IF EXISTS db_name,练习: 查看当前数据库服务器中的所有数据库 查

4、看前面创建的mydb2数据库的定义信息 删除前面创建的mydb1数据库,北京传智播客教育,修改、备份、恢复数据库,ALTER DATABASE IF NOT EXISTS db_name alter_specification , alter_specification . alter_specification: DEFAULT CHARACTER SET charset_name | DEFAULT COLLATE collation_name,备份数据库表中的数据mysqldump -u 用户名 -p 数据库名 文件名.sql 恢复数据库Source 文件名.sql,练习查看服务器中的数

5、据库,并把其中某一个库的字符集修改为utf8;备份test库中的数据,并恢复,北京传智播客教育,创建表(基本语句),CREATE TABLE table_name (field1 datatype,field2 datatype,field3 datatype, )character set 字符集 collate 校对规则 field:指定列名 datatype:指定列类型,注意:创建表时,要根据需保存的数据创建相应的列,并根据数据的类型定义相应的列类型。例:user对象id int name stringpassword stringbirthday date,注意:创建表前,要先使用us

6、e db语句使用库。,北京传智播客教育,MySQL常用数据类型,VARCHAR、BLOB和TEXT类是变长类型。每个类型的存储需求取决于列值的实际长度。,北京传智播客教育,创建表练习,创建一个员工表,北京传智播客教育,修改表,使用 ALTER TABLE 语句追加, 修改, 或删除列的语法.,ALTER TABLE table ADD (column datatype DEFAULT expr, column datatype.);,ALTER TABLE table MODIFY (column datatype DEFAULT expr, column datatype.);,ALTER

7、TABLE table DROP (column);,修改表的名称:Rename table 表名 to 新表名 修改表的字符集:alter table student character set utf8;,北京传智播客教育,修改表,练习 在上面员工表的基本上增加一个image列。 修改job列,使其长度为60。 删除sex列。 表名改为user。 修改表的字符集为utf-8 列名name修改为username alter table user change column name username varchar(20);,北京传智播客教育,北京传智播客教育,数据库CRUD语句,Inser

8、t语句 (增加数据) Update语句 (更新数据) Delete语句 (删除数据) Select语句 (查找数据),北京传智播客教育,Insert语句,INSERT INTO table (column , column.) VALUES (value , value.);,使用 INSERT 语句向表中插入数据。,插入的数据应与字段的数据类型相同。 数据的大小应在列的规定范围内,例如:不能将一个长度为80的字符串加入到长度为40的列中。 在values中列出的数据位置必须与被加入的列的排列位置相对应。 字符和日期型数据应包含在单引号中。 插入空值,不指定或insert into table

9、 value(null),北京传智播客教育,Insert语句练习,练习:使用insert语句向表中插入三个员工的信息。,注意:字符和日期要包含在单引号中。 show variables like character%; set character_set_results=gbk;,北京传智播客教育,Update语句,UPDATE tbl_name SET col_name1=expr1 , col_name2=expr2 . WHERE where_definition,使用 update语句修改表中数据。,UPDATE语法可以用新值更新原有表行中的各列。 SET子句指示要修改哪些列和要给予哪

10、些值。 WHERE子句指定应更新哪些行。如没有WHERE子句,则更新所有的行。,北京传智播客教育,Update语句练习,练习:在上面创建的employee表中修改表中的纪录。,要求 将所有员工薪水修改为5000元。 将姓名为zs的员工薪水修改为3000元。 将姓名为aaa的员工薪水修改为4000元,job改为ccc。 将wu的薪水在原有基础上增加1000元。,北京传智播客教育,Delete语句,delete from tbl_name WHERE where_definition,使用 delete语句删除表中数据。,如果不使用where子句,将删除表中所有数据。 Delete语句不能删除某一

11、列的值(可使用update) 使用delete语句仅删除记录,不删除表本身。如要删除表,使用drop table语句。 同insert和update一样,从一个表中删除记录将引起其它表的参照完整性问题,在修改数据库数据时,头脑中应该始终不要忘记这个潜在的问题。 删除表中数据也可使用TRUNCATE TABLE 语句,它和delete有所不同,参看mysql文档。,北京传智播客教育,Delete语句练习,删除表中名称为zs的记录。 删除表中所有记录。 使用truncate删除表中记录。,北京传智播客教育,Select语句(1),SELECT DISTINCT *|column1, column2

12、. column3FROM table;,Select 指定查询哪些列的数据。 column指定列名。 *号代表查询所有列。 From指定查询哪张表。 DISTINCT可选,指显示结果时,是否剔除重复数据,基本select语句,北京传智播客教育,Select语句(1),练习: 查询表中所有学生的信息。 查询表中所有学生的姓名和对应的英语成绩。 过滤表中重复数据。,北京传智播客教育,Select语句(),SELECT *|column1expression, column2expression,FROM table;,在select语句中可使用表达式对查询的列进行运算,在select语句中可使用

13、as语句,SELECT column as 别名 from 表名;,北京传智播客教育,Select语句(),练习 在所有学生分数上加10分特长分。 统计每个学生的总分。 使用别名表示学生分数。,北京传智播客教育,Select语句(3),使用where子句,进行过滤查询。练习: 查询姓名为wu的学生成绩 查询英语成绩大于90分的同学 查询总分大于200分的所有同学,北京传智播客教育,Select语句(),在where子句中经常使用的运算符,Like语句中,% 代表零个或多个任意字符,_ 代表一个字符,例first_name like _a%;,北京传智播客教育,Select语句(4),查询英语分

14、数在 8090之间的同学。 查询数学分数为89,90,91的同学。 查询所有姓李的学生成绩。 查询数学分80,语文分80的同学。,北京传智播客教育,Select语句(),SELECT column1, column2. column3FROM table;order by column asc|desc,Order by 指定排序的列,排序的列即可是表中的列名,也可以是select 语句后指定的列名。 Asc 升序、Desc 降序 ORDER BY 子句应位于SELECT语句的结尾。 练习: 对数学成绩排序后输出。 对总分排序后输出,然后再按从高到低的顺序输出 对姓李的学生成绩排序输出,使用o

15、rder by 子句排序查询结果。,北京传智播客教育,合计函数count,Select count(*)|count(列名) from tablenameWHERE where_definition,练习: 统计一个班级共有多少学生? 统计数学成绩大于90的学生有多少个? 统计总分大于250的人数有多少?,Count(列名)返回某一列,行的总数,北京传智播客教育,合计函数SUM,Select sum(列名),sum(列名) from tablenameWHERE where_definition,练习: 统计一个班级数学总成绩? 统计一个班级语文、英语、数学各科的总成绩 统计一个班级语文、英语

16、、数学的成绩总和 统计一个班级语文成绩平均分 注意:sum仅对数值起作用,否则会报错。 注意:对多列求和,“,”号不能少。,Sum函数返回满足where条件的行的和,北京传智播客教育,合计函数AVG,Select sum(列名),sum(列名) from tablenameWHERE where_definition,练习: 求一个班级数学平均分? 求一个班级总分平均分,AVG函数返回满足where条件的一列的平均值,北京传智播客教育,合计函数MAX/MIN,Select max(列名) from tablenameWHERE where_definition,练习: 求班级最高分和最低分(数

17、值范围在统计中特别有用),Max/min函数返回满足where条件的一列的最大/最小值,北京传智播客教育,Select语句(6),SELECT column1, column2. column3 FROM table;group by column,练习:对订单表中商品归类后,显示每一类商品的总价,使用group by 子句对列进行分组,SELECT column1, column2. column3FROM table;group by column having .,使用having 子句过滤,练习:查询购买了几类商品,并且每类总价大于100的商品,Having和where均可实现过滤,但

18、在having可以使用合计函数,having通常跟在group by后,它作用于组。,北京传智播客教育,时间日期相关函数,示例:select addtime(02:30:30,01:01:01); 注意:字符串、时间日期的引号问题select date_add(entry_date,INTERVAL 2 year) from student;增加两年select addtime(time,1 1-1 10:09:09) from student; 时间戳上增加,注意年后没有-,北京传智播客教育,字符串相关函数,北京传智播客教育,数学相关函数,北京传智播客教育,定义表的约束,定义主键约束prim

19、ary key:不允许为空,不允许重复 删除主键:alter table tablename drop primary key ; 定义主键自动增长auto_increment 定义唯一约束unique 定义非空约束not null 定义外键约束 constraint ordersid_FK foreign key(ordersid) references orders(id),北京传智播客教育,Tip:mysql中文乱码,mysql有六处使用了字符集,分别为:client 、connection、database、results、server 、system。 client是客户端使用的字符集。 connection是连接数据库的字符集设置类型,如果程序没有指明连接数据库使用的字符集类型就按照服务器端默认的字符集设置。 database是数据库服务器中某个库使用的字符集设定,如果建库时没有指明,将使用服务器安装时指定的字符集设置。 results是数据库给客户端返回时使用的字符集设定,如果没有指明,使用服务器默认的字符集。 server是服务器安装时指定的默认字符集设定。 system是数据库系统使用的字符集设定。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报