MySQL数据库
发布日期:2021-06-29 02:56:35
浏览次数:3
分类:技术文章
本文共 3949 字,大约阅读时间需要 13 分钟。
这里写目录标题
MySQL数据库
MySQL是一个关系型数据库管理系统,是由瑞典的mysql AB公司开发,目前属于oracle。
特点
- 开源
- 支持大型数据库,可以处理千万级条的记录。
- 使用标准的sql语言
- 可以运行在多个系统上。
MySQL安装
官网下载
https://dev.mysql.com/downloads/mysql
phpstudy集成环境
下载地址:https://www.xp.cn
mysql中几个概念
仓库:
database 类似于文件柜。
每一个仓库由多个表(table)组成。 类似于一个文件。
每一个表由 表头(字段) 和 表体(记录)。
数据导入
表上面右键,在菜单中选择运行sql文件,选择要运行的sql文件。执行即可。
数据库操作
创建数据库
代码创建数据库
create database 数据库名;# 创建一个名为yunmeng的数据库create database yunmeng;# 指定数据库的字符集以及排序方式create database yunmeng DEFAULT CHARACTER set utf8 COLLATE utf8_general_ci;
查看所有的数据库
show databases;
修改数据库的编码格式
alter DATABASE 数据库名 DEFAULT CHARACTER set 编码格式;alter DATABASE yunmeng DEFAULT CHARACTER set utf8;
删除数据库
DROP DATABASE 数据库名;DROP DATABASE yunmeng;DROP DATABASE IF EXISTS 数据库名;
表操作
创建表
create table 表名( 字段1 类型1, ...... 字段n 类型n);
【注】常见类型: int 整型,varchar 字符串 decimal小数 (涉及金额的用)
create table teacher( id int(11) COMMENT '用户id', name varchar(255))
查看所有的表
show TABLES
修改表名
alter table 原表名 rename 新表名;alter table teacher rename teacher2;
查看表的字段信息
desc 表名;desc student;
修改字段名
alter TABLE 表名 change 原字段名 新字段名 新字段名类型alter TABLE teacher2 change age name VARCHAR(20)
修改字段名的类型
alter TABLE teacher2 MODIFY name varchar(50)
添加字段
alter TABLE 表名 add 字段名 字段类型; first添加到第一行。after 字段名:插入到该字段后。alter TABLE teacher2 add age varchar(10) first;
删除字段
ALTER TABLE `teacher2` DROP COLUMN `age`;
删除表
drop table 表名;drop table student;
数据的操作
添加数据
insert into 表名 values (数据) 数据要与建好的表一一对应
INSERT INTO hero(id,name,age) VALUES(1,'张三',20);INSERT INTO hero VALUES(2,'liqing',30);INSERT INTO hero set id = 3,name = 'nuoke',age = '40'INSERT INTO hero VALUES(4,'v',26),(5,'ironman',80)
修改数据
如果没有where条件,则会更改表中所有的记录
# 批量更新UPDATE hero SET age = 20#根据 where后的条件,修改符合条件的数据。UPDATE hero SET age = 20 WHERE id = 1;
删除数据
直接将表中所有的数据删除
DELETE FROM 表名;
条件删除 根据where语句后的条件,将满足条件的数据删除。
DELETE FROM hero WHERE id < 3;
## 查询数据```sql#查询全部记录,全部字段。select * from student#查询指定字段select name,score from student# between and 范围查询select name,score from student WHERE score BETWEEN 80 AND 90# 查询指定字段为null值的记录SELECT * FROM student WHERE score is null# 查询指定字段不为null值的记录SELECT * FROM student WHERE score is not null# DISTINCT 关键字返回不重复的值。重复值会过滤掉。SELECT DISTINCT name FROM hero # 模糊查询 % 匹配任意个字符(包含0个到多个)# 模糊查询 _ 匹配一个字符 SELECT * FROM student WHERE name like '杨%'
条件查询
where 后的条件判断。
= < <= > >=
SELECT * FROM student WHERE score >=80
and or
and两边的条件必须都成立,才返回该记录。SELECT * FROM student WHERE score >=80 AND gender = '女' OR 两边的条件只要有一个成立,则返回该记录SELECT * FROM student WHERE score >=80 OR gender = '女'
IN
在where子句中可以规定多个值。SELECT * FROM student WHERE score in(79,89,99)
高级查询
聚合函数
count()
# 返回查询结果的记录数。SELECT count(*) FROM student WHERE score in(79,89,99)
sum()
# 对返回结果中的指定字段进行求和SELECT sum(score) FROM student WHERE score = 79
avg()
# 对指定的字段进行求平均数SELECT avg(score) FROM student
max()
# 求指定值的最大值SELECT max(score) FROM student
min()
# 求指定值的最小值SELECT min(score) FROM student
查询最大值
select * from student where score = (select max(score) from student)
排序
SELECT * FROM student ORDER BY score DESC
【注】asc 默认 递增 desc 递减
分组查询
# group by 按照指定字段分组,一般配合聚合函数使用。SELECT count(*),score FROM student GROUP BY score
#having 关键字 是对分组查询后的结果进行条件查询。SELECT count(*) ,score FROM student GROUP BY score HAVING count(*)>20
分页查询 limit
SELECT * from student LIMIT 查询开始的位置,本次查询的条数SELECT * from student LIMIT 10,10#limit后的参数为本次查询的条数SELECT * from student LIMIT 10# limit关键字可以配合order by使用SELECT * from student ORDER BY score DESC LIMIT 0,20
函数
# 查询当前时间select now() from student#字符串拼接select concat(id,'+',name,'+',score) from student
别名(可以省略as,这不是必须,而是规范)
# 为表添加别名,as关键字可以省略select s.* FROM student as s WHERE s.name = '孙九二'#为字段取别名select s.name as '姓名' FROM student as s WHERE s.name = '孙九二'
多表查询
左链接
SELECT * from student stu left JOIN class c ON stu.cid = c.id
以左边为大头,右边没有的值也会输出
复合条件查询
#可以将查询结果作为where后的查询条件判断。select * from student WHERE cid = (select id FROM class WHERE classname = '云梦山')
exists
# EXISTS 关键字 只返回true或者falseselect * from student WHERE EXISTS (select id from class WHERE classname = '云梦')
转载地址:https://blog.csdn.net/z18237613052/article/details/114334382 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年04月22日 09时57分49秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
2019全球智博会将于苏州召开,三大重磅奖项候选项目火热征集中 ...
2019-04-29
分布式scrapy_redis源码总结,及其架构
2019-04-29
深度学习框架Keras介绍及实战
2019-04-29
一个配置引发的血案
2019-04-29
AITech国际智能科技峰会圆满落幕,AI大咖共论人工智能发展 ...
2019-04-29
SkyWalking Liunx 环境搭建&NetCore接入
2019-04-29
昆仑万维拟5000万元投资自动驾驶公司Pony.ai
2019-04-29
游戏、零售等行业服务单元化部署场景下低成本单库单服解决方案 ...
2019-04-29
嵌入式视觉,边缘AI驱动器智能工业
2019-04-29
100行Python代码理解深度学习关键概念:从头构建恶性肿瘤检测网络 ...
2019-04-29
设置openjdk docker容器的时区
2019-04-29
智库大会 | 智能科技:从万物互联到万物智能
2019-04-29
HTTPS如何防止DNS欺骗?
2019-04-29
外贸网站最好用的5大WordPress插件【必须安装】
2019-04-29
Auto Scaling 支持目标追踪伸缩规则
2019-04-29
MySQL 笔记整理(18) --为什么这些SQL语句逻辑相同,性能却差异巨大? ...
2019-04-29
springcloud之hystrix熔断器-Finchley.SR2版
2019-04-29
本地Mysql和RDS搭建主从环境
2019-04-29