MySQL数据库
发布日期:2021-06-29 02:56:35
浏览次数:4
分类:技术文章
本文共 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月27日 18时40分05秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
jmeter-性能测试9-测试执行
2019-04-29
沟通交流碎碎念
2019-04-29
电信集成笔试题
2019-04-29
jmeter-性能测试8-性能测试基本过程及示例
2019-04-29
1.vue起步
2019-04-29
3.vue条件语句
2019-04-29
10.vue实战--form表单属性绑定
2019-04-29
11.vue实战--form表单字段验证提交验证
2019-04-29
12.vue实战--接口请求,组件使用,页面跳转配置
2019-04-29
打破职能之缺陷预防之路
2019-04-29
mac开启mysql,重置mysql密码,允许远程连接
2019-04-29
安装kibana
2019-04-29
linux安装nodejs
2019-04-29
tomcat部署vue,spring项目
2019-04-29
idea2020打包war包
2019-04-29
测试框架
2019-04-29
解决切换分支时,maven不自动下载依赖的问题
2019-04-29
java正则
2019-04-29
Python爬虫实战:批量下载网站图片
2019-04-29
pycharm的十个小技巧,让你写代码效率翻倍
2019-04-29