前言:本博文为个人笔记,记录了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';
 

Mysql数据库基础知识(全)的更多相关文章

  1. MySQL数据库基础知识及优化

    MySQL数据库基础知识及优化必会的知识点,你掌握了多少? 推荐阅读: 这些必会的计算机网络知识点你都掌握了吗 关于数据库事务和锁的必会知识点,你掌握了多少? 关于数据库索引,必须掌握的知识点 目录 ...

  2. 阿里面试官必问的12个MySQL数据库基础知识,哪些你还不知道?

    数据库基础知识 1.为什么要使用数据库 (1)数据保存在内存 优点: 存取速度快 缺点: 数据不能永久保存 (2)数据保存在文件 优点: 数据永久保存 缺点: 1)速度比内存操作慢,频繁的IO操作. ...

  3. Java基础86 MySQL数据库基础知识

    本文知识点(目录): 1.MySQL数据库的概述    2.MySQL数据库的管理[对数据库的操作](查询.删除.创建数据库,以及查询和修改数据库的编码模式)    3.表的管理[对数据库 表的操作] ...

  4. MySQL数据库基础知识复习

    现在是2020年寒假,这也是新年写的第一篇博客,用了十几天的时间自学了数据库基础部分,想总结一下得失同时并通过写博客来复习前面学的知识点. 个人: 1.本来是计划一周学完基础部分的178p但没能完成这 ...

  5. Mysql数据库基础知识

    什么是Mysql数据库 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司.MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQ ...

  6. mysql数据库基础知识和认识

    mysql 创建一个用户 hail,密码 hail,指定一个数据库 haildb 给 hail mysql -u root -ppassworduse mysql;insert into user(h ...

  7. [mysql]数据库基础知识

    数据库管理系统DBMS 软件 bin config db (保存数据) 写程序: 数据库在本地 找到目录 添加数据 数据库在远程 socket连接上远程机器 socket发送命令 需要做的事情 程序 ...

  8. python week09 Mysql 数据库基础知识

    第一篇:初识数据库 注:<基础概念,不再赘述,点开链接查看> 第二篇:库相关操作 一 系统数据库 information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些 ...

  9. Mysql之基础知识笔记

    Mysql数据库基础知识个人笔记 连接本地数据库: mysql -h localhost -u root -p 回车输入数据库密码 数据库的基础操作: 查看当前所有的数据库:show database ...

随机推荐

  1. 14.5、redis-sentinel高可用

    1.redis主从同步配置: (0)主机配置: 服务器名称 ip地址 实例6379 实例6380 实例6381 controller-node1 172.16.1.90 主 从 从 (1)确定主从: ...

  2. 7.1、controller节点配置

    0.配置openstack版本yum源: yum install centos-release-openstack-rocky 1.安装 OpenStack 客户端: yum install pyth ...

  3. POJ 1039 直线和线段相交

    题意: 题意很好理解,从左边射过来的光线,最远能经过管道到右边多少距离. 分析: 光线一定经过一个上端点和一个下端点,这一点很容易想到.然后枚举上下端点即可 #include <iostream ...

  4. Linux学习之路第四天(运行级别)

    linux 实用指令 指定运行级别 运行级别说明 0 :关机 1:单用户(找回丢失密码) 2.多用户状态没有网络服务 3.多用户状态有网络服务 4.系统未保留给用户 5.图形界面 6.系统重启 常用的 ...

  5. buu pyre

    一.下载附件是是pyc的字节码文件,找个在线网站反编译一下 思路还是挺清晰: 先逆着求出code, 这里就是求余,有点麻烦,那个+128%128其实没啥用的,省略就好了 算法里面再处理一下细节,跑一下 ...

  6. CSS 奇思妙想 | 巧妙的实现带圆角的三角形

    之前在这篇文章中 -- <老生常谈之 CSS 实现三角形>,介绍了 6 种使用 CSS 实现三角形的方式. 但是其中漏掉了一个非常重要的场景,如何使用纯 CSS 实现带圆角的三角形呢?,像 ...

  7. ArchLinux安装步骤(一)

    本文为安装archlinux的教程,需要有硬盘分区,挂载等基础linux命令的了解还有vim的基本操作,不知道也没关系,这里有大神的视频教程ArchLinux指南. 确实是不是uefi模式 ls /s ...

  8. HTML表单__表单元素属性

    看完"HTML表单__表单元素"那一节的同学会发现,同是input标签,type属性值不一样的时候,input类型完全不一样.type就是input的一个属性,除type之外,还有 ...

  9. Java基础之反射生成JDK动态代理

    在Java的java.lang.reflect包下提供了一个Proxy类和一个InvocationHandler接口.通过这个类和接口可以生成JDK动态代理类或动态代理对象. JDK动态代理例子: / ...

  10. linux下nginx访问ftp目录权限问题

    在将nginx目录设置为ftp目录访问时会报错:403 forbidden 原因在于nginx访问时账户问题,通过修改nginx.conf中的访问名解决 打开nginx.conf 修改user值,去掉 ...