0
点赞
收藏
分享

微信扫一扫

MySQL的简单使用(填坑中)

少_游 2022-02-28 阅读 78

目录

SQL通用语法

1、sql语句可以书写单行或者多行,必须以分号结尾(不以分号结尾就会被认为没有写完)
2、不区分大小写,关键字建议使用大写
3、
单行注释: -- 或者 #
#是MySQL特有的
--和注释的内容之间一定要有一个空格 ,#不必

多行注释: /* */

SQL分类

在这里插入图片描述

DDL-操作数据库

查询: SHOW DATABASES;

创建: CREATE DATABASE 数据库名称;

创建数据库(判断,如果不存在则创建):
CREATE DATABASE IF NOT EXITS 数据库名称;

删除:DROP DATABASE 数据库名称;

删除数据库(判断,如果存在则删除):
DROP DATABASE IF EXISTS 数据库名称;

查看当前使用的数据库:
SELECT DATABASE();

使用数据库(就相当于查看数据库中数据之前,你得要先进入数据库):
USE 数据库名称;

在这里插入图片描述
MySQL中系统自带的数据库:
information_schema数据库很特殊,它里面存放数在一种特殊的表中——视图,视图是一种逻辑表,并不存在物理文件。
在这里插入图片描述
所以看,information_schema并不存在一个对应数据库的文件夹

information_schema它记录了MySQL里面有哪些数据库,有哪些表。(SQL注入中会经常使用

SELECT first_name,last_name FROM users WHERE user_id=1’ union select table_name,table_schema  from  information_schema.tables  where  table_schema=’dvwa’#‘

比如看一下这个Union注入,就用到information_schema来查询对应数据库中有哪些表啊

DDL-操作表

查询当前数据库下所有表的名称: SHOW TABLES;

查询表的结构(并不是数据,只是表的结构): DESC 表名称

在这里插入图片描述
比如这是sys数据库下session表的结构

创建表:

CREATE TABLE 表名(
			字段名1  数据类型1,
			字段名2  数据类型2,
			……
			字段名n  数据类型n
);

最后一行后面,不要加逗号

在这里插入图片描述

MySQL数据类型

可以分为三类
数值、日期、字符串

tinyint : 小整数型,占一个字节
int	: 大整数类型,占四个字节  eg : age int
double : 浮点类型  使用格式:字段名 double(总长度,数点后保留的位数)   eg : score double(5,2)  
date : 日期值。只包含年月日   eg :birthday date : 
datetime : 混合日期和时间值。包含年月日时分秒 
char : 定长字符串   eg : name char(10)  如果存储的数据字符个数不足10个,也会占10个的空间
varchar : 变长字符串。  eg : name varchar(10) 如果存储的数据字符个数不足10个,那就数据字符个数是几就占几个的空间	

删除表: DROP TABLE表名;

删除表时,判断表是否存在: DROP TABLE IF EXISTS 表名;

修改表:
修改表名: ALTER TABLE 表名 RENAME TO 新的表名;

添加一列: ALTER TABLE 表名 ADD 列名 数据类型;

修改数据类型: ALTER TABLE 表名 MODIFY 列名 新数据类型;

修改列名和数据类型: ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型;

删除列: ALTER TABLE 表名 DROP 列名;

图形化客户端工具(Navicat)

用于管理和开发MySQL或MariaDB
在这里插入图片描述
点击连接选择,MySQL
在这里插入图片描述

在这里插入图片描述
对表的操作会容易很多

DML-操作数据

给指定列添加数据: INSERT INTO 表名(列名1,列名2,…) VALUES(值1,值2,…);

给全部列添加数据: INSERT INTO 表名 VALUES(值1,值2,…);
(即使是给全部列添加数据,也是建议使用上一种添加数据的方式,因为比较容易观察)

批量添加数据:
INSERT INTO 表名(列名1,列名2,…) VALUES(值1,值2,…),(值1,值2,…)…;
INSERT INTO 表名 VALUES(值1,值2,…),(值1,值2,…)…;

修改数据:
UPDATE 表名 SET 列名1=值1,列名2=值2,… [WHERE 条件];
(如果不添加条件,所有数据都将被修改)

删除数据: DELETE FROM 表名 [WHERE 条件];
(如果不添加条件,表中所有数据都会被删除)

DQL-查询数据

查询语法:

SLECT 
	字段列表
FROM
	表名列表
WHERE 
	条件列表
GROUP BY
	分组字段
HAVING
	分组后条件
ORDER BY
	排序字段
LIMIT
	分组限定
举报

相关推荐

0 条评论