前言:本博文为个人笔记,记录了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地址]
退出操作:
1. quit
2. \q
3. exit
数据库中数据库相当于文件夹,表相当于文件。
可以类比为车间名,车间内的分类货物,具体的货物
注意数据库中的密码一般使用MD5加密:
例:password |5f4dcc3b5aa765d61d8327deb882cf99
命令语句:
#显示数据库
show databases;
#选择数据库
use dvwa;
#显示当前库中所有的表
show tables;
#查看表中具体的信息
desc users;
#查询命令
select * from users;
注释符:
1.#
2.-- -
3./**/
数据库的基本操作
#增:
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 表名;
子查询
#WHERE型查询
把内层查询的加过当作外层查询的比较条件
SELECT * from users where id in (select * from users where id >1);
#FROM子查询
SELECT * from (select * from users where id >=0) as user_id;
#EXISTS子查询
SELECT * FROM USERS WHERE EXISTS (SELECT * FROM USERS WHERE id >1);
 
SQL注入的基本知识
information_ schema数据库是MySQL自带的,它提供了访问数据库元数据的方式。就是数据库的库名,表明,列的数据类型和访问权限等。
可以把information_schema看作元数据。
SCHEMATA表:提供了当前mysql实例中所有数据库的信息,是show databases的结果取之此表
TABLES表:提供了关于数据库中表的信息(包括视图)。详细表述了某个表属于哪个schema,表类型,表引擎,创建时间等信息。是show tables from schema_name的结果。
COLUMNS表:具体tables里的信息。
SQL注入语句
#查询数据库名
SELECT SCHEMA_NAME FROM information_schema.SCHEMATA limit 1
#查询数据表名
SELECT * from information_schema.tables where table_schema='users';
#查询列
SELECT* from information_schema.columns where table_schema='user' and table_name='id';
 

最新文章

  1. 在thinkPHP3.2.3框架下实现手机和PC端浏览器的切换
  2. Python格式化字符串~转
  3. python——django使用mysql数据库(二)
  4. flask 添加日志
  5. Tomcat日志输出在linux和windows差异
  6. RPI学习--wiringpi_API
  7. python基础教程第3章——字符串
  8. abap优化工具事务代码: ST05
  9. Android Fragment 真正彻底的解决(下一个)
  10. UI 收集
  11. c#-Artificial Intelligence Class
  12. Android源码博文集锦2
  13. java自动化-juint框架简述
  14. PostgreSQL 10.7 linux 主从配置
  15. AI学习---数据读取&amp;神经网络
  16. HTTP缓存及其合理使用
  17. Tkinter的下拉列表Combobox
  18. Page14:状态观测器[Linear System Theory]
  19. python第四十三课——封装性
  20. 这可能是最详细的Python文件操作

热门文章

  1. vue 快速入门 系列 —— vue loader 下
  2. CSS3转换(transform)基本用法介绍
  3. 诸多改进!Superset 1.2.0 正式发布!
  4. 用 .SqlSugar ORM 来实现报表功能 .NET CORE /.NET
  5. Docker学不会?不妨看看这篇文章
  6. hadoop安装前的准备
  7. 剖析虚幻渲染体系(06)- UE5特辑Part 2(Lumen和其它)
  8. 线程中sleep()方法和wait()方法的前生今世
  9. Thymeleaf模板引擎语法
  10. Linux | Shell脚本的编写