MySQL数据库基础
什么是数据库?
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。
每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。
我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。
所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
RDBMS 即关系数据库管理系统(Relational Database Management System)的特点:
- 1.数据以表格的形式出现
- 2.每行为各种记录名称
- 3.每列为记录名称所对应的数据域
- 4.许多的行和列组成一张表单
- 5.若干的表单组成database
Mysql系统库释意
information_schema库: 是信息数据库,其中保存着关于Mysql服务器所维护的所有其他数据库信息,比如数据库名,数据库表,表字段的数据类型与访问权限等。在web渗透过程中用途很大
SCHEMATA表:提供了当前MySQL实例中所有的数据库信息,"show databases"命令的结果取之此表
TABLES表:提供了关于数据中表的信息
COLUMNS表:提供了表中的列信息,详细描述了某张表的所有列以及每个列的信息。
mysql库:MySQL的核心数据库,主要负责存储数据库的用户、权限设置、关键字等MySQL自己需要使用的控制和管理信息
performance_schema 库:内存数据库,数据放在内存中直接操作的数据库。相对于磁盘,内存的数据读写速度要高出几个数量级,将数据保存在内存中相比从磁盘上访问能够极大地提高应用性能。
sys 库:通过这个数据库,可以查询谁使用了最多的资源,基于IP或是用户。哪张表被访问过最多等等信息。
MySQL基础语法
注释
1.-- 要注释的内容(两个-)
2.# 这后边的内容是注释内容
列出所有数据库
SHOW DATABASES;
查看某一个数据库里所有的表
1.先使用 USE databasename; 进入到数据库当中,然后使用SHOW TABLES 查看所有数据表
2.直接使用 USE TABLES FROM [库名]; 来查看指定数据库内的所有表
MySQL SELECT 函数
查看当前选择的是哪个库
SELECT DATABASE();
查看MySQL版本
SELECT VERSION();
查看当前登录数据库的用户
SELECT USER();
查看数据路径
SELECT @@datadir;
查看MySQL安装路径
SELECT @@basedir;
查看MySQL安装的系统
SELECT @@version_compile_os;
查询数据
SELECT * FROM mysql.user; --------------->查询mysql库里user表的所有字段
SELECT schema_name FROM information_schema.'SCHEMATA'; ------>查询指定字段
带WHERE参数(WHERE就像if,为查询添加限定条件)
SELECT USER,HOST FROM mysql.user WHERE USER = 'root';
--------->查询mysql库下user表中,USER、HOST字段里的USER值为root的数据(字符串用单引号)
常用操作
创建库
CREATE DATABASE test CHARSET utf8mb4; ----->创建名字为test,编码为utf8mb4的数据库
创建表
CREATE TABLE t1(id INT); ----->在当前数据库创建表t1,表中含有字段id,值类型为int整型
删除表
DROP TABLE t1; ------->删除名为t1的表
在表中添加字段
ALTER TABLE t1 ADD name VARCHAR(32);--->在表t1中添加名字为name的字段
为数据表插入数据
INSERT INTO t1 VALUES (1,"张三"),(2,"李四");--->插入数据
联合查询
SELECT * FROM mysql.first UNION SELECT * FROM information_schame.user
---->联合查询,并将结果组成于同一个表中
文章评论