




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京传智播客教育 SQL 结构化查询语言 入门 讲师 赵君 北京传智播客教育 MySQL简介 数据库简介Oracle SQLServer DB2MySQL Linux Apache Mysql Php SyBase InformixMySQL数据库的安装和配置使用命令行窗口连接MYSQL数据库mysql u用户名 p回车密码 北京传智播客教育 数据库服务器 数据库和表的关系 MySQL程序 DB1 DB2 表1 表3 表2 Client程序 所谓安装数据库服务器 只是在机器上装了一个数据库管理程序 这个管理程序可以管理多个数据库 一般开发人员会针对每一个应用创建一个数据库 为保存应用中的数据 一般会在数据库创建多个表 以保存程序中的数据 数据库服务器 数据库和表的关系如图所示 北京传智播客教育 数据在数据库中的存储方式 id 1name lisi age 23 User对象 User表 id 2name wang age 24 行 row 列 column 表的一行称之为一条记录表中一条记录对应一个java对象的数据 User对象 北京传智播客教育 创建数据库 CREATEDATABASE IFNOTEXISTS db name create specification create specification create specification DEFAULT CHARACTERSETcharset name DEFAULT COLLATEcollation name CHARACTERSET 指定数据库采用的字符集COLLATE 指定数据库字符集的比较方式 规则 比如排序练习 创建一个名称为mydb1的数据库 创建一个使用utf8字符集的mydb2数据库 创建一个使用utf8字符集 并带校对规则的mydb3数据库 北京传智播客教育 查看 删除数据库 显示数据库语句 SHOWDATABASES显示数据库创建语句 SHOWCREATEDATABASEdb name使用数据库USEdb name数据库删除语句 DROPDATABASE IFEXISTS db name 练习 查看当前数据库服务器中的所有数据库查看前面创建的mydb2数据库的定义信息删除前面创建的mydb1数据库 北京传智播客教育 修改 备份 恢复数据库数据 ALTERDATABASE IFNOTEXISTS db name alter specification alter specification alter specification DEFAULT CHARACTERSETcharset name DEFAULT COLLATEcollation name 备份数据库表中的数据 退到window命令行窗口 mysqldump u用户名 p数据库名 D 文件名 sql恢复数据库 进入mysql控制台 sourceD 文件名 sql 练习查看服务器中的数据库 并把其中mydb3库的字符集修改为utf8 备份mydb3库中的数据 并恢复 北京传智播客教育 创建表 基本语句 CREATETABLEtable name field1datatype field2datatype field3datatype characterset字符集collate校对规则field 指定列名datatype 指定列类型 注意 创建表时 要根据需保存的数据创建相应的列 并根据数据的类型定义相应的列类型 例 user对象idintnamestringpasswordstringbirthdaydate 注意 创建表前 要先使用usedbname语句使用库 北京传智播客教育 MySQL常用数据类型 VARCHAR BLOB和TEXT类是变长类型 每个类型的存储需求取决于列值的实际长度 北京传智播客教育 创建表练习 创建 查看一个员工表 并指明字符集为UTF8 北京传智播客教育 修改表 使用ALTERTABLE语句追加 修改 或删除列的语法 ALTERTABLEtableADD columndatatype DEFAULTexpr columndatatype ALTERTABLEtableMODIFY columndatatype DEFAULTexpr columndatatype ALTERTABLEtableDROP column 修改表的名称 Renametable原表名to新表名修改表的字符集 altertablestudentcharactersetutf8 北京传智播客教育 修改表 练习在上面员工表的基本上增加一个image列 修改job列 使其长度为60 删除sex列 表名改为user 修改表的字符集为utf8 列名name修改为username altertableuserchangecolumnnameusernamevarchar 20 北京传智播客教育 数据库CRUD语句 Insert语句 增加数据 Update语句 更新数据 Delete语句 删除数据 Select语句 查找数据 北京传智播客教育 Insert语句 employee sql INSERTINTOtable column column VALUES value value 使用INSERT语句向表中插入数据 插入的数据应与字段的数据类型相同 数据的大小应在列的规定范围内 例如 不能将一个长度为80的字符串加入到长度为40的列中 在values中列出的数据位置必须与被加入的列的排列位置相对应 字符和日期型数据应包含在单引号中 插入空值 不指定或insertintotablevalue null 北京传智播客教育 Insert语句练习 练习 使用insert语句向表中插入三个员工的信息 英中文 注意 字符和日期要包含在单引号中 showvariableslike character setcharacter set results gbk 北京传智播客教育 Update语句 UPDATEtbl nameSETcol name1 expr1 col name2 expr2 WHEREwhere definition 使用update语句修改表中数据 UPDATE语法可以用新值更新原有表行中的各列 SET子句指示要修改哪些列和要给予哪些值 WHERE子句指定应更新哪些行 如没有WHERE子句 则更新所有的行 北京传智播客教育 Update语句练习 练习 创建的employee表中修改表中的纪录 要求将所有员工薪水修改为3000元 将姓名为 张小明 的员工薪水修改为4000元 将 张小明 的薪水在原有基础上增加1000元 北京传智播客教育 Delete语句 deletefromtbl name WHEREwhere definition 使用delete语句删除表中数据 如果不使用where子句 将删除表中所有数据 Delete语句不能删除某一列的值 可使用update 使用delete语句仅删除记录 不删除表本身 如要删除表 使用droptable语句 同insert和update一样 从一个表中删除记录将引起其它表的参照完整性问题 在修改数据库数据时 头脑中应该始终不要忘记这个潜在的问题 删除表中数据也可使用TRUNCATETABLE语句 它和delete有所不同 TRUNCATE 复制表结构 销毁表 重建表结构 DELETE 逐行删除记录 北京传智播客教育 Delete语句练习 删除表中名称为 zs 的记录 删除表中所有记录 使用truncate删除表中记录 北京传智播客教育 Select语句 1 student sql SELECT DISTINCT column1 column2 column3 FROMtable Select指定查询哪些列的数据 column指定列名 号代表查询所有列 开发中建议不要使用 From指定查询哪张表 DISTINCT可选 指显示结果时 是否剔除重复数据 基本select语句 北京传智播客教育 Select语句 1 练习 查询表中所有学生的信息 查询表中所有学生的姓名和对应的英语成绩 过滤表中重复数据 北京传智播客教育 Select语句 SELECT column1 expression column2 expression FROMtable 在select语句中可使用表达式对查询的列进行运算 在select语句中可使用as语句 SELECTcolumnas别名from表名 北京传智播客教育 Select语句 练习在所有学生分数上加10分特长分 统计每个学生的总分 使用别名表示学生分数 北京传智播客教育 Select语句 3 使用where子句 进行过滤查询 查询姓名为 张小明 的学生成绩查询英语成绩大于90分的同学查询总分大于200分的所有同学 北京传智播客教育 Select语句 在where子句中经常使用的运算符 Like语句中 代表零个或多个任意字符 代表一个字符 例first namelike a 北京传智播客教育 Select语句 4 查询英语分数在80 90之间的同学 查询数学分数为89 90 91的同学 查询所有姓 李 的学生成绩 查询数学分 80且语文分 80的同学 北京传智播客教育 Select语句 SELECTcolumn1 column2 column3 FROMtable orderbycolumnasc desc Orderby指定排序的列 排序的列即可是表中的列名 也可以是select语句后指定的列名 Asc升序 Desc降序ORDERBY子句应位于SELECT语句的结尾 练习 对数学成绩排序后输出 对总分排序后输出 对姓 李 的学生总分排序输出 使用orderby子句排序查询结果 北京传智播客教育 合计函数 count Selectcount count 列名 fromtablename WHEREwhere definition 练习 统计一个班级共有多少学生 统计数学成绩大于80的学生有多少个 统计总分大于250的人数有多少 Count 列名 返回某一列 行的总数 除null外 北京传智播客教育 合计函数 sum Selectsum 列名 sum 列名 fromtablename WHEREwhere definition 练习 统计一个班级数学总成绩 统计一个班级语文 英语 数学各科的总成绩 统计一个班级语文 英语 数学的成绩总和 统计一个班级语文成绩平均分 注意 sum仅对数值起作用 否则会报错 注意 对多列求和 号不能少 Sum函数返回满足where条件的行的和 北京传智播客教育 平均函数 avg Selectsum 列名 sum 列名 fromtablename WHEREwhere definition 练习 求一个班级数学平均分 求一个班级总分平均分 AVG函数返回满足where条件的一列的平均值 北京传智播客教育 最大最小值函数 max min Selectmax 列名 fromtablename WHEREwhere definition 练习 求班级最高分和最低分 数值范围在统计中特别有用 Max min函数返回满足where条件的一列的最大 最小值 北京传智播客教育 Select语句 6 orders sql SELECTcolumn1 column2 column3 FROMtable groupbycolumn 练习 对订单表中商品归类后 显示每一类商品的总价 使用groupby子句对列进行分组 SELECTcolumn1 column2 column3 FROMtable groupbycolumnhaving 使用having子句组过滤 练习 查询购买了几类商品 并且每类总价大于100的商品 Having和where均可实现过滤 但在having可以使用合计函数 having通常跟在groupby后 它作用于组 北京传智播客教育 定义表的约束 数据安全的保证 定义主键约束primarykey 不允许为空 不允许重复删除主键 altertabletablenamedropprimarykey 定义主键自动增长auto increment MySQL特有 UUID类生成 定义唯一约束unique定义非空约束notnull定义外键约束constraintordersid FKforeignkey ordersid referencesorders id 北京传智播客教育 表的关联设计 实体关系的体现 一对一人和身份证 外键唯一非空 主键外键合二唯一 一对多 多对一部门和员工多对多 中间表 老师和学生1号老师所对应的学员1号学员所对应的老师 北京传智播客教育 Tip mysql中文乱码 mysql有六处使用了字符集 分别为 client connection database results server system client是客户端使用的字符集 connection是连接数据库的字符集设置类型 如果程序没有指明连接数据库使用的字符集类
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电脑知识培训博客课件
- 电脑相关知识培训文档课件
- 电脑服务专业知识培训课件
- 电脑文员入门知识培训课件
- 电脑操作知识培训课件
- servsafe考试题及答案
- 诗歌鉴赏之表达技巧2讲课文档
- 广西崇左市宁明县2022-2023学年九年级上学期期中化学试题(含答案)
- 电生磁优翼课件
- 高端全能月子管家课件
- 急性胆囊炎疾病概述
- 从零开始讲装置布置:建规、石化规、精细规在工程设计时如何合理选用
- DB13T 5098-2019 无人值守起重机控制系统检验规则
- 2025年危险品水路运输从业资格考试复习题库(共500题)
- 探索未来学习中心的构建:理论、关键要素与体系架构
- 小红书运营合作协议书
- 院长绩效协议书
- 工业固废处置协议书
- 艺术基金授课协议书
- 【杭州】2025年浙江杭州市萧山区综合行政执法局第一次招聘编外人员14人笔试历年典型考题及考点剖析附带答案详解
- 2025保密观题库题库及答案
评论
0/150
提交评论