SQL语言基础和数据库操作
Sql语言基础:
核心思想:我们自己构造一段查询的代码,然后添加到语句后,从而得到想要的某些数据。
Mysql是一种开源数据库
APP Serv:Apache+php+mysql,相当于phpstudy(建议装在本机上,不建议装在虚拟机)
安装(主要):4个主件都要安装,本地网址需要自己命名,例如:www.test.com
然后设置Mysql密码,选择允许通过防火墙。
默认启动Apache和mysql
Mysql操作:
打开mysql.exe和mysqld.exe所在的文件夹,复制路径地址;

登录数据库:

也可越权访问,此时就跳过了mysql的用户验证。注意输入此命令之后命令行就无法操作了,此时可以再打开一个新的命令行。
注意:在输入此命令之前先在任务管理器中结束mysqld.exe进程,确保mysql服务器端已结束运行; 然后直接输入mysql,不需要带任何登录参数直接回车就可以登陆上数据库

此时我们就可以进行一系列操作了
输入select version(); 显示当前版本号

输入show databases; 查看当前包含哪些数据库(从以下可以看到6个数据库)

Information_schema,mysql,内置的,不需要做任何改动,test除外,因为test
本来就是用来做测试的
打开test数据库:use test;

显示当前打开的数据库:select database;

显示test数据库的表:show tables;(这里可以看到test数据库表为空)

创建表:
mysql>create table hack 创建表hack;
->( 表的内容如下;
->id int id字段为整数型
->usename varchar(20), usename为可变长度的20个字节长度类型
->password varchar(30)
->);

往表里添加记录:
insert into hack values(1,’admin’,’456’);
insert into hack values(2,’boss’,’123’);

select查询语句:
select * from hack; 显示hack表里所有字段内容;

select usename,password from hack; 只显示usename和password两个字段的内容;

select usename,password from hack where id=1; 从hack表中查找满足条件id=1的记录;

select * from hack where id=1 and usename=’admin’; 从hack表中查找满足id=1且usename=”admin”时的记录;

select * from hack where id=1 or usename=”boss”; 从hack表中查找满足id=1或者usename=”admin”时的记录;

我们再创建个表new



我们还可以删除表(这里以删除表news为例)

验证删除表news是否成功:

select * from new where id=1 and exists(select * from hack); 判断在hack数据库中查找关于new表中是否存在id=1的字段;

select * from hack order by password; 查询所有字段,按照password来排序(默认升序)

select * from hack order by 4; 查询hack数据库的字段数(这里可以看到不存在4个字段)

select * from hack order by 3; 判断当前查询显示几个字段,这里用3判断了下,说明是存在3个字段的

Union联合查询:
知道显示的是几个字段显示几个字段有什么用呢?
其实就是为了我们后面的union联合查询,可以使用union查询一次性执行两个或者多个查询,并将它们的结果组合在一起输出显示。必须知道有多少个字段才能执行。
这里需要特别注意的是union联合查询的基本规则就是所有查询中的列数必须相同。意思就是说前面的查询结果的字段数跟后面查询结果的字段数必须是一样的。
具体查询操作如下所示:
查询new表字段数,如下图可以看到,有两个字段

查询hack表字段数,如下图可以看到,有三个字段

由前面我们知道new表中有两个字段,hack表中有3个字段,当我们输入: select * from new union select * from hack; 时查询是报错的,报错原因说的是字段数不匹配

不匹配怎么办呢?我们保证前后字段数相同不就行啦!
new表有两个字段,我们让hack表也只显示两个字段(usename和password)
我们再输入select * from new union select usename,password from hack;

看到没,成功啦!
那么我们还可以满足hack表,让new表显示3个字段
输入 select * from hack union select 1,2,3 from new; 其中1,2,3可以替换成new表中的字段名
例如我这里要同时输入hack表里所有字段和new表里id和title两个字段如下所示。

最后说一下mysql中的注释语句,因为有时我们需要屏蔽一下语句的作用,就需要用到注释符。
单行注释:在某一行中插入一个符号,这一行就没有意义了,例如,我们在此处插入#,后面的语句就被注释掉了,输出结果就不会显示。

除了# 还有-- 注释符,注意:这里—后面有一个空格

多行注释:/* */,”/*”用于注释文字的开头,”*/”用于注释文字的结尾。
学到这里我们几乎就可以开始sql注入啦!!
SQL语言基础和数据库操作的更多相关文章
- .NET面试题解析(11)-SQL语言基础及数据库基本原理
系列文章目录地址: .NET面试题解析(00)-开篇来谈谈面试 & 系列文章索引 本文内容涉及到基本SQL语法,数据的基本存储原理,数据库一些概念.数据优化等.抱砖引玉,权当一个综合复习! ...
- .NET面试题解析(9)-SQL语言基础及数据库基本原理
见面试题 1. 索引的作用?她的优点缺点是什么? 2. 介绍存储过程基本概念和 她的优缺点? 3. 使用索引有哪些需要注意的地方? 4. 索引碎片是如何产生的?有什么危害?又该如何处理? 5. 锁的目 ...
- SQL语言基础及数据库的创建
一.数据类型:1.二进制数据二进制数据以十六进制形式存储.二进制数据最多能存8000个英文字符,4000个汉字字符. 2.字符数据char:存100,不足100补足.varcha:存多少占多少. 3. ...
- 6.JAVA语言基础部分--数据库操作
操作数据数据流程:得到Connecnt->获取Statement对象->执行sql语句返回ResultSet 1.通过DriverManager.getConnection("j ...
- 新手学python(2):C语言调用完成数据库操作
继续介绍本人的python学习过程.本节介绍如何利用python调用c代码.内容还是基于音乐信息提取的过程,架构如图一.Python调用c实现的功能是利用python访问c语言完成mysql数据库操作 ...
- PL/SQL语言基础
PL/SQL语言基础 进行PL/SQL编程前,要打开输出set serveroutput on 1.创建一个匿名PL/SQL块,将下列字符输出到屏幕:"My PL/SQL Block Wor ...
- MySQL数据库:SQL语句基础、库操作、表操作、数据类型、约束条件、表之间的关系
数据库相关概念: 1. 数据库服务器:运行数据库管理软件的计算机 2. 数据库管理软件:MySQL.Oracle.db2.slqserver 3. 库:文件夹,用来组织文件/表 4. 表:文件(类似于 ...
- SQL Server 基础 01 数据库、表操作
对着书慢慢学习,一天一点点! 数据库操作 (create.alter.drop) --3-3-1 /create database 语句创建数据库 create database testSQL - ...
- orcale 之 SQL 语言基础
SQL 全称是结构化查询语句(Structure Query Language),是数据库操作的国际化语言,对所有的数据库产品都要支持. SQL 语言的分类 我们按照其功能可以大致分为四类: 数据定义 ...
随机推荐
- windows server 2016 安装网卡驱动
首先,联网分解为两个问题,一.WLAN(无线网).二.以太网(有线网) 一 .WLAN问题解决方案 1.打开服务器管理器 2.添加角色和功能 3.一直点下一步到“功能”,勾选 DirectPlay 和 ...
- JS 中判断数据类型是否为 null、undefined 或 NaN
判断 undefined var aaa = undefined; console.log(typeof(aaa) === "undefined"); // true 判断 nul ...
- Maven 教程(11)— Maven远程仓库的各种配置
原文地址:https://blog.csdn.net/liupeifeng3514/article/details/79545408 1.远程仓库的配置 在平时的开发中,我们往往不会使用默认的中央仓库 ...
- CSS3移动端vw+rem不依赖JS实现响应式布局
1.前言 (1)vw/vh介绍 在使用之前,我们先简单了解一下什么是vw和rem以及它们的作用,vw是css3出现的一个新单位,它是"view width"缩写,定义为把当前屏幕分 ...
- 不一样的LCA——luoguP1852跳跳棋
洛谷端题目链接 loj端题目链接 题目大意: 在一条数轴上进行跳跳棋游戏.棋子只能摆在整点上.每个点不能摆超过一个棋子.用跳跳棋完成:棋盘上有3颗棋子,分别在a,b,c这三个位置.我们要通过最少的跳动 ...
- 『正睿OI 2019SC Day2』
分治 普通分治 普通分治是指针对序列或平面问题的分治算法. 思想 普通分治的思想是指将一个序列问题或平面问题通过某种划分方式划分为若干个子问题,直到子问题规模足够小,可以直接回答,再通过合并得到原问题 ...
- golang ---rune与byte
golang内置类型有rune类型和byte类型. rune类型的底层类型是int32类型,而byte类型的底层类型是int8类型,这决定了rune能比byte表达更多的数. 在unicode中,一个 ...
- 【3.1】学习C++之再逢const
随着学习的深入,就会发现曾经学的const还有更深入的用法,现在就对const的未总结的用法进行总结. 本文就是针对const在类中的情况进行的总结. 有时我们会遇到下面这种将类的成员变量用const ...
- gcc 编译过程
gcc 编译过程从 hello.c 到 hello(或 a.out)文件, 必须历经 hello.i. hello.s. hello.o,最后才得到 hello(或a.out)文件,分别对应着预处理. ...
- python基础知识(一)
Python基础知识 计算基础知识 1.cpu 人类的大脑 运算和处理问题 2.内存 临时存储数据 断电就消失了 3.硬盘 永久存储数据 4.操作系统 调度硬件设备之间数据交互 python的应用和历 ...