本帖最后由 g207776411 于 2018-5-9 17:09 编辑
Day_08数据库概述
Day_08Mysql数据库(结构化查询语言)/数据库概述面试重点 DDL:create ,later, drop,truncate DML:insert, update , delete DCL : if DQL: selec 关系型数据库的概念:关系型数据库,保存的就是实体之间的关系 Mysql是一个关系型数据库 数据库保存的是实体之间的关系 俗称ER模型
对数据库中数据的操作简称为crud常见的关系型数据库 MySQL Oracle SQLServer DB2 SyBase
SQL的分类(不区分大小写,它被叫做结构化查询语言)DDL: 数据定义语言
DCL: 数据控制语言,编程的时候使用
DML:数据操控语言
DQL: 数据查询语言
SQL创建表语法:
create table 表名称(字段名称 字段类型(长度) 约束,字段匿名成 字段类型(长度) 约束) create database 表名称 character set 字符集(utf8) collate 校对规则(utf8_bin);
字段类型
Java中的类型 MySQL中的类型 byte/short/int/long tinyint(tiny<微小的>)/smallint/int/bigint float floatdouble double boolean bit(一般用1和0来表示true和false) char/String char 和varchar类型Date date/time/datetime/timestampfile BLOB(mp3文件)/TEXT(代表的是文件路径组成的字符串) MySQL中类型的区别:char和varchar的区别: char:当录入的字符长度不够的时候会用空格自动补充(固定长度)varchar:当录入的字符长度是多少,就录入多少,不会补充(可变长度)datetime和timestamp的区别:两者都包括日期和事件.不同的是 datetime,如果没有向这个字段传入具体的值,那么它默认返回的是null值timestamp如果没有向这个字段传入具体的值,那么返回的是当前系统的时间,通常用来记录文件创建的事件 约束作用:主要是为了数据的完整性
SQL表的修改添加列
修改列类型
删除列
修改列名称
修表名
修改表的字符集
数据库的操控:Day_08 MySQL的语法表数据的添加 指定字段添加
给所有字段添加值
insert into 表名称 values(按照字段的顺序,一次录入对应的字段的值) 直接向数据库中插入中文记录会出现错误!!! 解决方法: show variables like '%character%'; --**查看数据库中与字符集相关参数: 需要将MySQL**数据库服务器中的客户端部分的字符集改为gbk 找到MySQL**的安装路径:my.ini文件,修改文件中[client]下的字符集
表数据的查看 * selsect * from 表名称 查询字符集 修改表中的记录 删除表中的记录 delete from 表名 where 字段名=值; delete from 表名(删除以后可以使用rollback;恢复数据)事务可以作用在 DML上;删除之前 先开启事务 start transaction; start transaction ;(删除以后,不可以恢复)事务不能作用在DDL上
查看表中的记录(重点) 分组统计查询聚合函数的使用
求总和 sum,求英语成绩总和 (按照字段求和,按列计算)
查询英语成绩总和和数学成绩总和(横向求和,按行计算)
查询姓李的学生的英语和数学成绩的总和
查询所有学生各科的总成绩:
第一种方法: select sum(english)+sum(chinese)+sum(math) from exam; 第二种方法: select sum(english+chinese+math) from exam; 加入english 中有一个人成绩么有录入成绩,那么我们需要这样求和通过ifnull做一下判断 select sum(ifnull(english,0)+chinese+math) from exam;
获取所有学生的总数
获取某一个姓氏的学生的个数
常用的用来求最大值,最小值,平均数的语句
最大值 : select max(english) from exam; 最小值: select min(english) from exam; 平均数: select avq(english) from exam;
分组查询
|
|