前言:本博文为个人笔记,记录了Mysql的一些基本操作,一般掌握本博文就可以了解数据库、表、数据项的增删改查,希望对大家的学习有所帮助。
首先下载PHPSTUDY,将Mysql配置为系统变量。
具体操作如下:
首先找到PHPSTUDY下载目录,进入Extensions目录下的Mysql目录,找到bin文件,复制相关路径,如:
E:\phpstudy_pro\Extensions\MySQL5.7.26\bin
右击计算机,选择属性,然后选择高级系统设置,进而点击环境变量
选择新建,变量名为mysql,变量值为刚才的路径,点击确定。
然后进入控制台,输入mysql -u root -p进行验证,出现如下情况说明添加环境变量成功。
登录操作:
mysql -u [用户名] -p [密码] -h [IP地址]
退出操作:
数据库中数据库相当于文件夹,表相当于文件。
可以类比为车间名,车间内的分类货物,具体的货物
注意数据库中的密码一般使用MD5加密:
例:password |5f4dcc3b5aa765d61d8327deb882cf99
命令语句:
#显示数据库
show databases;
#选择数据库
use dvwa;
#显示当前库中所有的表
show tables;
#查看表中具体的信息
desc users;
#查询命令
select * from users;
注释符:
数据库的基本操作
#增:
create database exampleDb;
#删
drop database exampleDb;
#改
alter database exampleDb charset utf8;
#查
show databases;
表的基本操作:
#查看表结构
describle table;
DESCRIBE [表名]
#查看表内容
select * from table_name
#建立表
CREATE TABLE [表名](
属性名 数据类型 [完整约束条件],
属性名 数据类型 [完整约束条件]
);
例如:
CREATE TABLE user (
id int(7) AUTO_INCREMENT;
username varchar(100) not null;
password varchar(100) not null;
PRIMARY KEY(id);
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
#常见的数据库引擎
InnoDB 对字符处理比较好
myisam 对存储数据比较好(大数据的查询语句)
#删除表
drop table users;
#避免创建语句错误
create table if not exisit [table];
#修改表的操作
ALTER TABLE [旧表名] RENAME [新表名];
#修改字段的数据类型
ALTER TABLE [表名] MODIFY 属性名 数据类型;
#修改字段名
ALTER TABLE [表名] CHANGE 旧属性名 新属性名
#增加字段名
ALTER TABLE [表名] ADD [属性名1] 数据类型 [完整性约束条件]
#删除字段
ALTER TABLE [表名] DROP [属性名]
#更改存储引擎
ALTER TABLE [表名] ENGINE=存储引擎名;
数据的增删改查
#添加数据(指定字段)
语法:INSERT INTO 表名(字段名1,字段名2) VALUES(值1,值2);
insert into users (id,username,password) values(1,'admin','password');
#添加数据(不指定字段)
语法:INSERT INTO 表名 VALUES (值1,值2);
#删除数据
语法:DELETE FROM [表名] WHERE 条件表达式;
delete from users where id =1;
#删除表
语法:TRUNCTE [TABLE] 表名
TRUNCTE TABLE users;
#更新数据
UPDATE USERS SET password='132' where id=1;
#查找数据
SELECT * FROM users;
#查找指定数据
SELECT username,password FROM USERS;
数据查询语句
#between查询
语法:SELECT * |{字段名1,字段名2}
FROM 表名
WHERE 字段名 [NOT ] BETWEEN AND
SELECT * from users where id not between 1 and 2;
#带Like查询,一般都会跟着%,意味着任意字符和长度
语法:SELECT *|{字段名1,字段名2}
FROM 表名
WHERE 字段名 like '模糊查询';
SELECT * from users where id like '%admin%';
SELECT * from
#带AND查询,满足多个条件
语法:SELECT *|{字段名1,字段名2}
FROM 表名
WHERE 条件语句1 AND 条件语句2
SELECT * FROM users where id >=0 and username like '%ad%';
#带OR查询,满足一个条件
语法:SELECT * |{字段名1,字段名2}
FROM 表名
WHERE 条件语句1 OR 条件语句2
高级查询
#COUNT()函数:统计记录的条数
语法:SELECT COUNT(*) FROM 表名
SELECT COUNT(*) from users;
#SUM ( )函数:对记录数值进行求和
语法:SELECT SUM(*) FROM 表名
SELECT SUM(id) from users;
#分组查询
单独使用GROUP BY进行分组
SELCT * FROM USERS GROUP BY username;
#HAVING关键字
GROUP BY 一般与HAVING关键字配合使用,HAVING和WHERE作用相同,但是HAVING可以跟聚合函数
SELECT SUM(id) FROM users GROUP BY password HAVING SUM(id) <4;
#LIMIT 限制查询结果的数量
SELECT * FROM users LIMIT 2;
SELECT * FROM user LIMIT 1,1;
#AS 为字段取别名
语法:SELECT 字段名 [AS] 别名 FROM 表名;
子查询
TABLES表:提供了关于数据库中表的信息(包括视图)。详细表述了某个表属于哪个schema,表类型,表引擎,创建时间等信息。是show tables from schema_name的结果。
- MySQL数据库基础知识及优化
MySQL数据库基础知识及优化必会的知识点,你掌握了多少? 推荐阅读: 这些必会的计算机网络知识点你都掌握了吗 关于数据库事务和锁的必会知识点,你掌握了多少? 关于数据库索引,必须掌握的知识点 目录 ...
- 阿里面试官必问的12个MySQL数据库基础知识,哪些你还不知道?
数据库基础知识 1.为什么要使用数据库 (1)数据保存在内存 优点: 存取速度快 缺点: 数据不能永久保存 (2)数据保存在文件 优点: 数据永久保存 缺点: 1)速度比内存操作慢,频繁的IO操作. ...
- Java基础86 MySQL数据库基础知识
本文知识点(目录): 1.MySQL数据库的概述 2.MySQL数据库的管理[对数据库的操作](查询.删除.创建数据库,以及查询和修改数据库的编码模式) 3.表的管理[对数据库 表的操作] ...
- MySQL数据库基础知识复习
现在是2020年寒假,这也是新年写的第一篇博客,用了十几天的时间自学了数据库基础部分,想总结一下得失同时并通过写博客来复习前面学的知识点. 个人: 1.本来是计划一周学完基础部分的178p但没能完成这 ...
- Mysql数据库基础知识
什么是Mysql数据库 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司.MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQ ...
- mysql数据库基础知识和认识
mysql 创建一个用户 hail,密码 hail,指定一个数据库 haildb 给 hail mysql -u root -ppassworduse mysql;insert into user(h ...
- [mysql]数据库基础知识
数据库管理系统DBMS 软件 bin config db (保存数据) 写程序: 数据库在本地 找到目录 添加数据 数据库在远程 socket连接上远程机器 socket发送命令 需要做的事情 程序 ...
- python week09 Mysql 数据库基础知识
第一篇:初识数据库 注:<基础概念,不再赘述,点开链接查看> 第二篇:库相关操作 一 系统数据库 information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些 ...
- Mysql之基础知识笔记
Mysql数据库基础知识个人笔记 连接本地数据库: mysql -h localhost -u root -p 回车输入数据库密码 数据库的基础操作: 查看当前所有的数据库:show database ...
- 让Qt5默认支持C++17的设置方法
单个项目的设置方法 打开项目的 pro 文件,将CONFIG += console c++11改为CONFIG += console c++17即可. 永久默认支持 c++17 的设置方法 找到 Qt ...
- kerberos认证协议爱情故事
0x01.kerberos简介 kerberos是一种域内认证协议,Kerberos的标志是三头狗,狗头分别代表以下角色: Client Server KDC(Key Distribution Cen ...
- [源码解析] 深度学习分布式训练框架 horovod (9) --- 启动 on spark
[源码解析] 深度学习分布式训练框架 horovod (9) --- 启动 on spark 目录 [源码解析] 深度学习分布式训练框架 horovod (9) --- 启动 on spark 0x0 ...
- kubelet分析-pvc扩容源码分析
kubernetes ceph-csi分析目录导航 存储的扩容分为controller端操作与node端操作两大步骤,controller端操作由external-resizer来调用ceph完成,而 ...
- Docker与k8s的恩怨情仇(四)-云原生时代的闭源落幕
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 在本系列前几篇文章中,我们介绍了从Cloud Foundry到Docker等PaaS平台的发展迭代过程.今天 ...
- C++智能指针之shared_ptr与右值引用(详细)
1. 介绍 在 C++ 中没有垃圾回收机制,必须自己释放分配的内存,否则就会造成内存泄露.解决这个问题最有效的方法是使用智能指针(smart pointer).智能指针是存储指向动态分配(堆)对象指针 ...
- 第三章 - CPU缓存结构和java内存模型
CPU 缓存结构原理 CPU 缓存结构 查看 cpu 缓存 速度比较 查看 cpu 缓存行 cpu 拿到的内存地址格式是这样的 CPU 缓存读 根据低位,计算在缓存中的索引 判断是否有效 0 去内存读 ...
- scrapy-redis的搭建 分布式爬虫 去重
master:一.spider文件1.需要更改继承的类from scrapy_redis.spiders import RedisSpider 2.注释掉start_urls 3.在爬虫目录下新创建一 ...
- Django基础-02篇 Models的属性与字段
1.models字段类型 AutoField():一个IntegerField,根据可用ID自动递增.如果没指定主键,就创建它自动设置为主键. IntegerField():一个整数: FloatFi ...
- python使用笔记18--写日志
1 import nnlog 2 import traceback 3 #level:输出日志级别,debug:把所有的日志都打印出来,info:打印info以上的日志, 4 # warning:打印 ...