Mysql数据库的常用操作>>一

目录

一、数据库

1.概述

2.安装

3.数据库结构

二、SQL语言

1.概述

2.数据库的表、库系列操作

1)创建数据库、表

2)删除数据库、表

3)修改数据库、表

4)删除数据库、表

3.记录的系列操作

1)查询记录(查询所有记录及条件查询)

2)修改记录(修改所有及条件修改)

3)增加记录

4)删除记录

三、数据库中的函数

1、基本函数

2、聚合函数

四、总结


一、数据库

1.概述

数据库就是用来储存数据和管理数据的仓库dabatase(简称db)

分类>>>

关系型数据库:存放的数据之间有紧密的关系可以看作表有行、有列,常用的数据库(Oracle/SqlServer/MySql/Informix.SyBase等),可以理解为我们常用的大多数都是关系型数据库。

非关系型数据库: 存放数据之间关系松散,常用的有(MongoDB/cassandra/redis/hbase) 

2.安装

安装服务器端和客户端使用Mysql

1)服务器端:用来储存数据

设置字符集utf-8避免中文乱码(提一下有几个地方可以避免中文乱码>>安装时有个选项、创建库时、创建表时),端口默认为3306

此为创建库时设置编码格式

2)客户端用来连接服务器,操作数据

DOS窗口输入mysql -uroot -proot回车进入数据库

3)可视化工具

3.数据库结构

分为数据库>>表>>记录(包含关系),实现增删改查CRUD

二、SQL语言

1.概述

结构化查询语言,专门对数据库进行操作简称(SQL)

2.数据库的表、库系列操作

1)创建数据库、表

create database lab        #lab数据库的名字
create table a(id int,name varchar(20));  
#语法create table 表名(字段名称 字段类型(字段长度),字段名称 字段类型(字段长度),...);

2)删除数据库、表

drop database 库名;             #除特殊情况下不要使用,一旦使用无法找回
drop table 表名;                #除特殊情况下不要使用,一旦使用无法找回

3)修改数据库、表

alter table 表名 添加字段 字段名称 字段类型(字段长度)

4)查询数据库、表

查看所有数据库/表

show databases;
show tables;

使用指定数据库

use 数据库名;

3.记录的系列操作

创建一个student表其中包含id,age,name并向其中添加几条数据

#创建表并设置主键自增
create table student(id int primary key,name varchar(20),age int,sex varchar(20));
#向表中添加数据
insert into student values(1,"Jack",20,"男");
insert into student values(2,"Lilei",10,"男");
insert into student values(3,"Rose",30,"女");
insert into student values(4,"Lili",50,"女");

1)查询记录(查询所有记录及常用条件查询)

select * from 表名        #查询表的所有数据

条件查询本质上就是多了个where 加 条件,所以创建完表之后多多实践,别怕错自己想点条件试下

1.1两个条件同时存在用and连接,两个条件满足一项即可用or连接

1.2 in相当于or,例子:查询年龄为20或者30的学员,not in就是查询不满足条件的

SELECT * FROM student WHERE age IN(20,30);

1.3betweeen and  例子:查询年龄在20岁到50岁的学员信息

SELECT * FROM student WHERE age BETWEEN 20 AND 50; 

1.4null数据的处理,分为is null、is not null,是空和不是空。例子:查询学员表中年龄不是null的所有数据

SELECT * FROM student WHERE age IS NOT NULL;

1.5例子:查询学生表中年龄(age)为20的学员信息

select * from student where age=20;        
#student是你数据库中的表,自己创建,其中包含age字段 age=20就是你的条件

1.6例子:查询表中性别为女的学员信息

select * from student where sex="女";

1.7模糊查询重点记忆like, %是通配符,就是什么都可以替代的意思

SELECT * FROM student WHERE age LIKE '1%';   #查询年龄以1开头的所有数据
SELECT * FROM student WHERE age LIKE '%1%';   #查询年龄中间包含1的所有数据,也包含以1开头
SELECT * FROM student WHERE age LIKE '%1';   #查询年龄以1结尾的所有数据

1.8分页查询limit

SELECT * FROM student LIMIT 2,1;            #2代表从第几条数据开始查询,1代表查询几条数据

1.9查询排序order by默认为升序查询

注意:汉字排序时会查utf8里对应的数字,按照数字升序排序

#按照年龄查询升序、降序
SELECT * FROM student ORDER BY age ASC;        #升序查询ASC
SELECT * FROM student ORDER BY age DESC;       #降序查询DESC

2.0按照日期做条件查询

#可参照基础函数中的时间作为条件查询练习
SELECT * FROM 表名 WHERE hiredate<'2019-1-1'         #hiredate日期的字段名
SELECT * FROM 表名 WHERE YEAR(hiredate)<2019

2)修改记录(修改所有及条件修改)

例子:修改表中id=2学员的信息,将其性别改为女,注意如果不加where条件就是修改所有人的信息

update student set sex="女" where id=2; 

3)增加记录

insert into student values(5,"小明",20,"男");
insert into student values(6,"小北",10,"男");
insert into student values(7,"小美",30,"女");
insert into student values(8,"小人",50,"女");

4)删除记录

注意如果不加条件就是删除所有数据谨慎操作

delete from student where id=3;            #注意如果不加条件就是删除所有数据谨慎操作

三、数据库中的函数

1、基本函数

概述:类似于java中的方法,使用是为了提高SQL的效率,有些需要提供参数

代码演示

#注意sql中的关键字会自动变成大写
#查询学员表中的学员姓名,用字段名替代了*,增快了查询效率
select name from student;
#查询学员表中的学员姓名和年龄,查询多个字段时用,号隔开
select name,age from student;
###
#基础函数
#将姓名变成大写upper(字段名),变成小写lower(字段名)
select name,upper(name),lower(name) from student;
#查询字段值的长度用length(字段名),一个字母、数字为1,汉字为3(utf-8中)
select name,length(name),age,length(age) from student;
#截取substr(a,b,c)-a是字段名b是截取的开始位置c是截取的长度
SELECT NAME,SUBSTR(NAME,2,2) FROM student; 
#concat(a,b,c)-a是字段名b是想要拼接的内容c是想要拼接的内容
select name,concat(name,'a','o') from student;
#replace(a,b,c)-a是字段名b是要被替换的字符c是新数据
select name,replace(name,"i","e") from student;
#ifnull(a,b)-a是字段名b是要把null替换成的值
select name,ifnull(name,'Xiaoxiao') from student;
#对小数的处理:round四舍五入取整 ceil向上取整 floor向下取整
select round(字段名),ceil(字段名),floor(字段名) from student;       #由于表中没有小数,演示不了
#对日期的处理:now获取当前系统时间year获取年month获取月day获取天
SELECT NOW(),YEAR(NOW()),MONTH(NOW()),DAY(NOW());
#对日期的处理:HOUR获取时MINUTE获取分SECOND获取秒
SELECT NOW(),HOUR(NOW()),MINUTE(NOW()),SECOND(NOW()); 

2、聚合函数

1)概述:把一列的所有值聚合寄来做分析,常用的聚合函数:count()/max()/min()/avg()/sum()

#1.聚合函数:把一列的所有值聚合在一起
SELECT age FROM student#查询学员年龄
SELECT MAX(age) FROM student#查询最高年龄
SELECT MIN(age) FROM student#查询最低年龄
#SUM查询年龄总和,AVG平均年龄
SELECT SUM(age),AVG(age) FROM student
#count()统计总记录数
SELECT COUNT(age) FROM student
SELECT COUNT(*) FROM student#低效
SELECT COUNT(1) FROM student#高效

2)分组概述:就是把数据,按照一些维度分成组,然后再把这一组数据继续分析

例子:按照性别分组,统计平均年龄(其余函数一样)

select sex,avg(age) from student group by sex;

3)分组后过滤

例子:统计不同性别学员表中年龄最大的,只要年龄大于20的数据,a 是给统计后的数据起的别名

select sex,max(age) a from student group by sex having a>20;

四、总结

补充:数据库的基本操作都很简单,多敲几遍命令,自己总结下规律就好了,条件查询本质就是加了where 条件,函数是为了提高效率。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值