前言:本博文为个人笔记,记录了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. 如何在Vue的项目里对element的表单验证进行封装

    介绍需求 熟悉并优化公司项目的第五天,领导说能不能把表单验证封装一下,我打开代码一看 由于是后台管理系统,无数个需要验证的输入框,由于截图长度受限,只能展示部分,类似于这种页面还有无数个!代码重复率非 ...

  2. 浅读tomcat架构设计之Pipeline-Valve管道(4)

    tomcat Container容器处理请求是使用Pipeline-Valve管道来处理的,后续写的tomcat内存马,和他紧密结合 Pipeline-Valve是责任链模式,责任链模式是指在一个请求 ...

  3. sed 大括号 sed {} 的作用详解

    今天看别人写的脚本的时候,看到了sed  -r   {}   我看网上对于这个的记录比较少,所以就写了这篇随笔. 先看一下效果 cat  test.txt image: qqq/www/eee:TAG ...

  4. 企业如何通过CRM系统使销售周期缩短

    企业为什么要缩短销售周期?因为这意味着可以节约更多开支,从而达到企业利润最大化.但是有不少企业尤其是B2B行业,销售周期都在三个月以上.通过调查发现,很多企业在客户信息和销售管道上缺乏管理和策略.Zo ...

  5. actviti7撤回操作

    @Override @Transactional(rollbackFor = Exception.class) public int callBack(String processId) { //通过 ...

  6. Linux:CentOS7防火墙 开放端口配置

    查看已开放的端口 firewall-cmd --list-ports 开放端口(开放后需要要重启防火墙才生效) firewall-cmd --zone=public --add-port=3338/t ...

  7. shiro框架基础

    一.shiro框架简介 Apache Shiro是Java的一个安全框架.其内部架构如下: 下面来介绍下里面的几个重要类: Subject:主体,应用代码直接交互的对象就是Subject.代表了当前用 ...

  8. MindInsight:一款基于MindSpore框架的训练可视化插件

    技术背景 在深度学习或者其他参数优化领域中,对于结果的可视化以及中间网络结构的可视化,也是一个非常重要的工作.一个好的可视化工具,可以更加直观的展示计算结果,可以帮助人们更快的发掘大量的数据中最有用的 ...

  9. Dapper的基本使用 [转]

    Dapper是.NET下一个micro的ORM,它和Entity Framework或Nhibnate不同,属于轻量级的,并且是半自动的.也就是说实体类都要自己写.它没有复杂的配置文件,一个单文件就可 ...

  10. Linux groupadd and groupmod

    groupadd [选项] group 三个参数: -g,--gid 指定组gid,除非使用-o,否则gid必须时唯一的 -o,--non-unique 允许创建有重复gid的组 -r, --syst ...