全网最详细,MySQL数据库知识总结,你要的我都有......
目录:导读
- 一、数据库基础
- 1、用户
- 2、权限
- 二、数据库基本语法
- 1、引擎
- 2、四大SQL语句
- 3、DDL
- 4、DML
- 三、查询基础操作
- 1、排序语句
- 2、关键字
- 3、查询条件
- 四、约束
- 1、主键(primary key)
- 2、唯一(unique)
- 3、非空(not null)
- 4、默认值(default)
- 五、总结
一、数据库基础
1、用户
a.增
创建用户:
create user ‘用户名’@‘服务器的ip地址’ identified by ‘密码’;
数据库ip地址,如果是本地,则是loaclhost
b.删
drop user ‘用户名’@‘ip地址’;
c.改
修改用户名:
rename user ‘用户名’@‘IP地址’ to ‘新用户名’@‘IP地址’;
修改密码:
(低级版本)
set password for ‘用户名’@‘IP地址’=password(‘新密码’);
(高级版本)
alter user ‘xiaoming'@'localhost' identified by ‘654321';
d.查
查看数据库:
show databases;
切换库:
use 数据库名;
查看数据表:
show tables;
查询数据表数据:
select * from 数据表名;
2、权限
a.单词
授权(grant),回收(revoke),权限(privilege)
b.授予权限:
grant 权限名 on 库名.表名 to ‘用户名’@’IP地址’;
all privilege:一次授予所有权限
grant all privileges on *.* to ‘用户名’@’IP地址’;
授予 所有数据库的 所有表的 所有权限
c.刷新权限:
flush privileges;
d.查看权限:
查看当前用户权限:
show grants;
查看指定用户权限:
show grants for ‘用户名’@’IP地址’;
e.回收权限:
revoke 权限名 on 库名.表名 from ‘用户名’@’IP地址’;
revoke all on *.* from ‘用户名’@’IP地址’;
回收 所有数据库的 所有表的 所有权限
二、数据库基本语法
1、引擎
查看数据库引擎:
show engines;
临时性修改数据库引擎:
set default_storage_engine = “引擎名”;
两个常用引擎:
myisam:性能好,安全性低
innodb:性能差,安全性高。支持外键,支持事务
2、四大SQL语句
数据定义语句DDL(操作表结构):create、alter、drop、truncate
数据操作语句DML(操作表数据):insert、delete、update、select
数据控制语句DCL:grant、revoke
事务控制语句TCL:begin、commit、rollback
3、DDL
a.数据库
创建数据库:
create database 数据库名;
显示创建的数据库信息:
show create database 数据库名;
删除数据库:
drop database 数据库名;
b.数据类型
①整型:int
②小数:decimal,float
用法:decimal(长度,小数位)
decimal(5,2)范围为:-999.99~999.99
③字符串:char,varchar
char和varchar区别:
char是定长,确定了长度之后,不管存放的数据有没有达到指定长度,都是按照指定的长度长度分配
varchar是不定长,确定了长度之后,如果存放的数据没有达到指定长度,就按照已经使用的长度来分配空间
c.表结构
①增:创建表格
create table 表格名(
字段名 数据类型 【约束条件】,
字段名2 数据类型
)【其他选项(例如储存引擎,字符集等)】;
【 】中的内容选填,中文设置:DEFAULT CHARSET =‘utf8’;
自增:auto_increment ,随着数据的插入,该字段会自动增加
②删:
drop table 表名;
③改:
alter table 表名 操作命令;
其中操作命令包括:
删除字段:drop 字段名;
新增字段:add 字段名 数据类型 约束条件;
修改字段名(可同时修改数据类型):change 旧字段名 新字段名 数据类型/新数据类型;
修改数据类型:modify 字段名 新数据类型;
修改表名:
rename table 旧表名 to 新表名;
alter table 旧表名 rename 新表名;
④查看创建表的详细信息:
show create table 表名;
查看表结构:
desc 表名;
4、DML
a.增(insert)
基本语法:
insert into 表名(字段名 #不填默认为全部) values(数据);
b.删(delete,truncate)
delete删除:delete from 表名;
truncate删除:truncate table 表名;
区别:
truncate可以将自增字段清零,重新开始自增,delete不能清零
c.改(update)
基本语法:
update 表名 set 字段名=新值 where 查询条件;
如果不加查询条件,默认修改字段下的所有的值
替换(replace):
基础语法:
replace into 表名 values(值);
insert,update,replace区别:
insert是插入语句,永远都是在最下面插入新的行,不会对已有数据造成影响;
update是更新语句,是在已有数据的基础上对数据内容做修改;
replace是替换语句,如果原数据已存在则覆盖原数据(类似update,但其字段需要有约束条件),如果不存在则插入新数据(类似insert)
d.查(select)
基本语法:
select 字段名 from 表名 where 查询条件;
别名(as):给字段或者表在查询时设置的一个临时的名字:
SELECT 新表名.字段名1 AS ‘新字段名',新表名.字段名2 AS ‘新字段名2' FROM 表名 AS 新表名;
说明:AS可不填,旧字段名与新字段名用空格隔开即可。如果表名没有设新表名,则“字段名”前面的“新表名.”不填
SELECT name “姓名”,age “年龄” FROM student;
e.综合
①插入其他表的数据:
insert into 表名(字段名) select 查询字段名 from 表名 where 查询条件;
②使用已有表的表结构及数据,创建一个新的表:
CREATE TABLE stu SELECT * FROM student;
③创建一个新的表,只使用已有表的表结构
CREATE TABLE stu2 SELECT * FROM student 查询条件;
其中查询条件为恒假,例如1=2
④数据备份和还原(source):
第一步:新建一个数据库(新建new)
第二步:切换到新建的数据库(use new)
第三步:source 保存的sql文件路径(source d:/test.sql)
三、查询基础操作
1、排序语句
order by
语法:
select 字段名 from 表名 order by 排序字段 排序方式;
asc:升序
desc:降序
默认升序排序
2、关键字
a.limit
作用:限制返回数据的行数
select 字段名 from 表名 limit 起始行下标,行数;
起始行下标默认为0
b.distinct
作用:去重,去掉重复出现的内容,保留其中一份
select distinct 去重字段名 from 表名;
注:空值和NULL是两个概念
3、查询条件
①between…and…:求在某一范围内的值
select 字段名 from 表名 where 查询字段 between 起始范围 and 截止范围;
②like:模糊查询
select 字段名 from 表名 where 查询字段 like 查询内容;
%:表示0个或多个字符
_:表示1个字符
③in:查询字段在指定数据中是否出现
select 字段名 from 表名 where 查询字段 in (值1,值2, 值3);
比较字符:
a.不等于:!=,<>
b.等与:=,,<=> --------->第二个可用于NULL,即<=>NULL等价于is NULL
拓展字符:
a.必须使用rlike操作符
b.范围:[]
[1-5]:表示1-5的范围(即1,2,3,4,5,)
c.‘^’:表示以什么字符开头(用在字符前)
^a :以a开头字符
d.‘’:表示以什么字符结尾(用在字符后)a’:表示以什么字符结尾(用在字符后) a’:表示以什么字符结尾(用在字符后)a:以a结尾的字符
四、约束
分类:主键(primary key)、外键(foreign key)、唯一(unique)、非空(not null)、默认值(default)、检查(check)
1、主键(primary key)
定义:同时拥有非空和唯一的性质,在同一张表中只能出现一次
添加主键约束:
(常用)
create table 表名(字段名 数据类型 primary key
);
(可改主键名)
create table 表名(
字段名 数据类型,
constraint 主键名 primary key(约束字段)
);
(其他)
create table 表名(
字段名 数据类型,
primary key(约束字段)
);
添加主键(表已存在):
alter table 表名 add primary key(字段名);
删除主键:
alter table 表名 drop primary key;
复合主键:将两个以上字段都赋予主键约束
语法:
(加在建表时最后面)
primary key(字段名1,字段名2);
2、唯一(unique)
定义:确保修饰的字段数据内容不能重复
添加:
alter table 表名 add unique(字段名);
删除:
alter table 表名 drop index 字段名;
3、非空(not null)
添加:
alter table 表名 modify 字段名 数据类型 not null;
删除:
alter table 表名 modify 字段名 数据类型;
4、默认值(default)
定义:是指定为空字段的默认内容
删除:
alter table 表名 change 字段名 字段名 数据类型;
添加:
alter table 表名 add 字段名数据类型 default '默认值';
五、总结
在光芒万丈之前,我们都要欣然接受眼下的难堪和不易,接受一个人的孤独和偶尔的无助。
不是井里没有水,而是挖的不够深;不是成功来得慢,而是放弃速度快。得到一件东西需要智慧,放弃一样东西则需要勇气!
如果只有过美好的经历,那么你不会变得勇敢,不要怕前路坎坷,请一直勇敢向前。
全网最详细,MySQL数据库知识总结,你要的我都有......相关推荐
- 肝了三天的四万字MySQL数据库知识总结
mysql数据库知识梳理总结 即使再小的帆也能远航~ 一. 目录 数据库介绍 数据库安装 SQL概念 DDL DML操作表中的数据 DQL单表查询 数据库备份和还原 DCL 数据库表的约束 表与表之间 ...
- mysql数据库知识解析(一)
文章目录 1. 数据库的介绍和环境搭建 1.1 数据库介绍 1.1.1 数据存储 1.1.2 理解数据库 1.1.3 MySQL 1.2 环境搭建 2. 数据类型及约束 2.1 SQL介绍&常 ...
- MySQL数据库知识汇总
MySQL总结汇总,整理了包括MySQL数据库的基础知识,SQL优化.事务管理以及一些常见的问题,包含了作为一个Java工程师在面试中需要用到或者可能用到的基础性知识.一来为了加深学习印象,二来为以后 ...
- mysql参数优化51cto_超详细MySQL数据库优化
前言 数据库优化一方面是找出系统的瓶颈,提高MySQL数据库的整体性能,而另一方面需要合理的结构设计和参数调整,以提高用户的相应速度,同时还要尽可能的节约系统资源,以便让系统提供更大的负荷. 1. 优 ...
- Mysql数据库知识总结
Mysql学习资料参考: MySQL操作笔记(五万字详解)_Coder Xu的博客-CSDN博客 MySQL数据库面试题(2020最新版)_ThinkWon的博客-CSDN博客_mysql数据库面试题 ...
- 学习C++项目——mysql 数据库知识学习(关于 mysql 8.0 版以后基础部分学习)
学习数据库知识 一.思路和学习方法 本文学习于:B站平台UP主 IT 小当家,学习 MySQL 数据库,里面仅仅用于自己学习,进行复现,并加以自己的一些学习过程和理解,如果有侵权会删除.因为 Or ...
- 全网最细MySQL数据库下载及安装教程
MySQL 8.0.25的下载及安装 一.下载MySQL 1.从[官方网站](MySQL :: Download MySQL Community Server)下载(选择第一个) 2.将压缩包放入你要 ...
- MySQL数据库知识体系
MySQL为关系型数据库 文章目录 一 数据库介绍 1 相关定义 数据(data) 数据库(database.DB) 数据库管理系统(DataBase Management System , DBMS ...
- 全网最详细软件测试基础知识,零基础自学的【建议收藏】
目录 一.软件的定义 二.软件测试的定义与原则 三.测试模型的介绍 四.软件测试的流程 五.软件测试的分类 测试开发工程师技能成长路径 一.软件的定义 1. 软件的定义 软件测试(英语:Softwar ...
最新文章
- PLSQL基础语法二-流程控制,循环
- C# 参考之访问关键字:base、this
- 这个高度站立办公十分的棒
- Android 中单选框或复选框点击其中一个,其余取消操作
- array_merge与array+array的区别
- redis数据库及与python交互
- HTTP协议头部与Keep-Alive模式详解-Content-Length Transfer-Encoding
- dell r230u盘启动安装2008_dell r230服务器 怎么u盘开启
- 【Step By Step】将Dotnet Core部署到Docker(中)
- Python之路-(列表、元组、字典、集合、字符串)
- 4.软件架构设计:大型网站技术架构与业务架构融合之道 --- 操作系统
- 微信小程序 自定义底部导航栏(tabBar)
- 基于hadoop的商品推荐引擎
- 柴油车污染治理4G远程排放管理车载终端H6 (远程OBD)GB-17691
- 第三章 隐藏通信隧道技术
- Linux 获取磁盘唯一ID方式
- web单页面应用与多页面应用区别
- java button click事件_java处理按钮点击事件的方法
- 盛迈坤电商:关键词的优化方法
- Spring Security 的 RememberMe 详解 !!!!!