请选择 进入手机版 | 继续访问电脑版
JAVEN

mysql的基本使用一

所在版块: JavaEE技术 2017-06-28 10:42 [复制链接] 查看: 629|回复: 0
什么是MySQL?
MySQL是一个关系型数据库管理系统。属于Oracle旗下产品。MySQL是目前最好的RDBMS(Relational Database Management System)软件。


什么是关系?
在关系型数据库中用来存储数据的就是关系,关系就是我们熟知的“表”。如下样式是一个关系(也称为表):


数据库安装
下载地址:https://www.mysql.com/downloads/
安装步骤:课堂安装演示。
也可以在网上搜索mysql server,仅仅只安装mysql的服务端。在使用navicat进行连接操作。

MySQL Workbench(可视化面盘)的使用
1、创建数据库
2、创建表
3、添加数据

注意:
在mysql中schema等于database



SQL是什么?(数据库的使用)
SQL全称是结构化查询语言(Structured Query Language)。使用SQL能进行数据库的增删查改。学习数据库的基本核心内容就是SQL。SQL分类如下:
数据定义语言(DDL:Data Definition Language)
数据操作语言(DML:Data Manipulation Language)
数据查询语言(DQL:Data Query Language)
数据控制语言(DCL:Data Control Language)

本节知识要点:

一、DDL
数据库定义语言:
作用:创建数据库、创建表、修改表、删除表、删除数据库。比如:主要完成的就是图书馆和书架的制造工作。


案例:
使用数据库存储学生信息:
1、姓名
2、年龄
3、年纪
4、班级
5、总成绩
6、性别
数据存放的层次:
数据库--->表
数据库好比是图书馆
表好比是书架

创建数据库
create database name
使用数据库
use dbname
删除数据库
drop database dbname

创建表
CREATE TABLE `db_name`.`new_table` ( ... );
删除表
DROP TABLE `db_name`.`tb_name`;
修改表
Alter table table_name modify column column_name type;
说明:修改表字段
Alter table table_name add column column_name type;
说明:新增表字段
Alter table table_name drop column column_name;
说明:删除表字段
Alter table table_name change old_name new_name type;
说明:表字段改名
课堂练习:
•通过SQL创建一张学生表,包含如下字段:
•Id
•姓名
•年龄
•性别
•年级
•班级
•联系电话
家庭住址
二、MySQL数据类型
数据类型所占字节取值范围
  tinyint
  
  1字节
  
  -128~127
  
  smallint
  
  2字节
  
  -32768~32767
  
  mediumint
  
  3字节
  
  -8388608~8388607
  
  int
  
  4字节
  
  范围-2147483648~2147483647
  
  bigint
  
  8字节
  
  +-9.22*10的18次方
  
  float(m, d)
  
  4字节
  单精度浮点型,m总个数,
d小数位
  double(m, d)
  
  8字节
  双精度浮点型,m总个数,
d小数位
  decimal(m, d)
  
  
  
  decimal是存储为字符串的浮点数
  
  CHAR
  
  0-255字节
  
  定长字符串
  
  VARCHAR
  
  0-255字节
  
  变长字符串
  
  TINYBLOB
  
  0-255字节
  
  不超过255个字符的二进制字符串
  
  TINYTEXT
  
  0-255字节
  
  短文本字符串
  
  BLOB
  
  0-65535字节
  
  二进制形式的长文本数据
  
  TEXT
  
  0-65535字节
  
  长文本数据
  
  MEDIUMBLOB
  
  0-16 777 215字节
  
  二进制形式的中等长度文本数据
  
  MEDIUMTEXT
  
  0-16 777 215字节
  
  中等长度文本数据
  
  LOGNGBLOB
  
  0-4 294 967 295字节
  
  二进制形式的极大文本数据
  
  LONGTEXT
  
  0-4 294 967 295字节
  
  极大文本数据
  
  VARBINARY(M)
  
  允许长度0-M个字节的定长字节符串
  
  值的长度+1个字节
  
  BINARY(M)
  
  M
  
  允许长度0-M个字节的定长字节符串
  

三、DML
数据新增
insert into tb_name(...) values(...)
数据查询
select * from tb_name
数据修改
update tb_name set col_name=new_value where id=?
数据删除
delete from tb_name where id=?

四、DQL
查询所有数据
select * from tb_name
查询指定字段的所有数据
select col_name1,col_name2 from tb_name
where条件查询
select * from tb_name where id=?、!=、in、not in
复合条件查询
select * from tb_name where id > ? and\or  age < ?
去重查询
select distinct name from tb_name
排序查询
select * from tb_name order by id desc\asc
多字段排序
select col1,col2 from tb_name order by col1 desc,col2 asc;
分页查询
select * from tb_name limit 5; 显示结果的前5条记录
select * from tb_name limit 0,5; 区段查询
聚合函数-求和
select sum(col_name) from tb_name;
聚合函数-求平均数
select avg(col_name) from tb_name;
聚合函数-求最大最小数
select max\min(col_name) from tb_name;
聚合函数-计数
Select count(col_name) from tb_name;
场景:
需要统计一个年纪的平均分。
分组查询
select * from tb_name group by col_name
分组再过滤
select count(col2) as num, col2 from tb_name group by col3
分组统计
select count(col2) as num, col2 from tb_name group by col3 having num > 4

课堂练习:
•1、在学生信息表中新增20条数据
•2、修改张三的年龄为40;
•3、查询年龄在25岁以下的所有学生。
•4、统计25岁以下的学生中,每个年龄的学生人数
•5、通过年级对所有学生进行分组,然后统计每一个年纪的学生人数。
6、计算每一个年纪学生年龄小于25的人数。


模糊查询
“%”表示匹配0个或者多个任意字符
“_”表示匹配1个任意字符
实际应用:模糊查询大多数使用在搜索功能中。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

我的博客

QQ|Archiver|手机版|小黑屋|课堂笔记  

GMT+8, 2018-12-12 11:13 , Processed in 0.084918 second(s), 31 queries .

快速回复 返回列表