首页 > 数据库 >MySQL数据库管理

MySQL数据库管理

时间:2024-06-21 15:55:50浏览次数:22  
标签:管理 ## 数据库 MySQL 字段 库名 表名 table

目录

1.SQL语句

关系型数据库专用的操作管理语句,包含类型有 DDL 、 DML 、 DQL 、 DCL。

(1)DDL:用于管理数据库对象(库、表、索引 等)

create database 库名;    ##创建数据库
use 库名;                ##切换数据库
create table 表名 (字段1 数据类型, 字段2 数据类型, .... [, primary key(字段名)] );   ##创建表

show databases;   ##查看数据库
show tables [from 库名];   ##查看表,[不切换库的情况下]

describe [库名.]表名;     ##查看表结构,[不切换库的情况下]
desc

drop table [库名.]表名;    ##删除表
drop database 库名;     ##删除库






(2)DML:用于管理表数据

insert into 表名 (字段1, 字段2, ....) values (字段1的值, 字段2的值, ....);  ##向数据表中插入新的数据记录
insert into 表名 values (所有字段的值);  

update 表名 set 字段1=值1, 字段2=值2, .... where 条件表达式;   ##修改、更新数据表中的数据记录

delete from 表名 where 条件表达式;   ##在数据表中删除指定记录



(3)DQL:用于查询表数据

select * from 表名 [where 条件表达式];  ##查询表的数据记录
select 字段1,字段2,.... from 表名 [where 条件表达式];   ##查询数据记录

分页查询
select 字段 from 表名 limit N;       #查看表的前N行的记录
select 字段 from 表名 limit N,M;     #查看表的第N行之后的连续M行的记录(不包含第N行)





(4)DCL:用于管理用户和权限

create user '用户名'@'来源地址' identified by '密码';      ##新建用户
注:来源地址可以是 localhost、IP、网段、%(代表任意地址)、主机名

select user,host,authentication_string from mysql.user;  
##创建后的用户保存在 mysql 数据库的 user 表里

select user();  ##查看当前登录用户   

rename user '用户名'@'来源地址' to '新用户名'@'来源地址';   ##重命名用户

drop user '用户名'@'来源地址';    ##删除用户

 ##修改指定用户密码 (只能root用户使用  )
set password for '用户名'@'来源地址' = password('密码');    #注:密码加密
alter user '用户名'@'来源地址' identified by '密码';        #注:密码不加密

2.创建及删除数据库和表

create database 库名;    ##创建数据库
use 库名;                ##切换数据库
create table 表名 (字段1 数据类型, 字段2 数据类型, .... [, primary key(字段名)] );   ##创建表

show databases;   ##查看数据库
show tables [from 库名];   ##查看表,不切换库的情况下
desc 表名;     ##查看表结构
库名.表名

drop table [库名.]表名;    ##删除表
drop database 库名;     ##删除库




3.修改表名和表结构

alter table 旧表名 rename 新表名;    ##修改表名
alter table 表名 add 新字段 数据类型 [约束属性];    ##扩展表结构(增加字段)
alter table 表名 change 旧字段 新字段 数据类型 [约束属性];    ##修改字段(列)名,添加唯一键
alter table 表名 drop 字段名;     ##删除字段

alter table 表名 add primary key(字段名);    ##添加主键
alter table 表名 drop primary key;     ##删除主键






4.数据表高级操作

##克隆表
create table 新表名 like 旧表名;             #克隆表结构
insert into 新表名 select * from 旧表名;     #克隆表数据(可实现表结构和表数据与旧表都一样)
create table 新表名 (select * from 旧表名);    #表数据和旧表是一样的,新表的结构和旧表的不一定一样

##清空表
delete from 表名;          #一条一条的删除记录,清空表效率较慢;AUTO_INCREMENT自增字段仍保持原有的记录
truncate table 表名;       #直接重建表,清空表效率较快;AUTO_INCREMENT自增字段的记录也会重置

##临时表
create temporary table 表名 (....);     #临时表跟一般的表的相同点:都可以进行增删改查表数据
区别:show tables; 查不到临时表;临时表只能再当前会话中有效,退出当前会话,临时表就会失效

##外键约束
主键表: alter table 主表名 add primary key (公共字段);
外键表: alter table 从表名 add foreign key (公共字段) references 主表名 (公共字段);
保证数据的完整性和一致性(插入数据时,需要先保证主键表的公共字段有相关数据,才能在外键表插入相关联的数据;删除数据时,需要先保证外键表已经没有相关数据,才能在主键表删除相关联的数据)

##删除外键
alter table 表名 drop foreign key 外键别名;
alter table 表名 drop key 键名;












5.如何找回 root 密码?

1)修改MySQL配置文件,在 [mysqld] 配置项下面添加配置 skip-grant-tables
2)重启MySQL服务,使用 mysql 命令即可直接登录数据库
3)执行命令 update mysql.user set authentication_string=password('密码') where user='root'; 来修改root用户密码
4)还原MySQL配置文件,再重启MySQL服务,即可使用命令 mysql -u root -p密码 [-h 服务器地址 -P 端口] 登录数据库

6.MySQL的六大约束属性

主键约束    primary key     字段的值不能重复,且不能为NULL,一个表只能有一个主键
唯一键约束  unique key      字段的值不能重复,但可以为NULL,一个表可以有多个唯一键
非空约束    not null        字段的值不能为NULL
默认值约束  default 'XXX'   字段的值如果没有设置值则使用默认值自动填充
自增约束    auto_increment  字段的值如果没有设置值会默认从开始每行自动递增 1 ,要求设置自增的字段必须为主键字段
外键约束    foreign key     用来保证外键表和主键表相关联数据的完整性和一致性

零填充   int(N) zerofill    使用0进行填充使字段的数组满足 N 位数





7.权限管理

grant 权限1,权限2,....  on 库名.表名 to '用户名'@'来源地址' [identified by '密码'];     
#在5.7或之前支持 grant 创建新用户和授予权限,8.0开始只能用于授予权限
      all [privileges]        *.*(代表 任意库.任意表)

flush privileges;   ###当前会话中立即生效

show grant for '用户名'@'来源地址';   ##查看权限

revoke 权限列表  on 库名.表名  from '用户名'@'来源地址';    ##撤销权限
       all

注:




标签:管理,##,数据库,MySQL,字段,库名,表名,table
From: https://www.cnblogs.com/zsy828/p/18247567

相关文章

  • 基于springboot地方废物回收机构管理系统
    收藏关注不迷路||项目不适合可以浏览博主其他项目文章项目源码||毕设定制||远程支持||可联系博主---------------同类型文章链接--------------------------java项目设计专栏1项目基于springboot地方废物回收机构管理系统本系统的核心价值观在于为用户打造一个便......
  • MYSQL基础_18_MySQL8其它新特性
    第18章_MySQL8其它新特性1.MySQL8新特性概述MySQL从5.7版本直接跳跃发布了8.0版本,可见这是一个令人兴奋的里程碑版本。MySQL8版本在功能上做了显著的改进与增强,开发者对MySQL的源代码进行了重构,最突出的一点是多MySQLOptimizer优化器进行了改进。不仅在速度上得到了改......
  • MYSQL基础_17_触发器
    第17章_触发器在实际开发中,我们经常会遇到这样的情况:有2个或者多个相互关联的表,如商品信息和库存信息分别存放在2个不同的数据表中,我们在添加一条新商品记录的时候,为了保证数据的完整性,必须同时在库存表中添加一条库存记录。这样一来,我们就必须把这两个关联的操作步......
  • C语言学生管理系统
    C语言学生管理系统主要功能模块主界面其中教师注册和学生注册使用id(学号注册),由管理员录入id信息,若未查询到id被录入,则无法注册支持修改密码,若已经设置过密码,则验证原来密码后,可以修改密码注册函数代码voidregisterUser(constchar*role){UsernewUser;......
  • 结合zabbix监控mysql,让mysql性能飙升
      前段时间客户的系统突然出现mysql只读集群cpu飙升的情况,飙升到最高点的时候,甚至导致应用服务器GC,幸好应用有备份服务器,流量直接切过去,客户也无感知。但是这个只是临时的解决办法,总归要找到具体的原因,和开发同事查了两天的应用日志和mysql的慢日志,始终无法定位到具体的问题。......
  • 日常工作中常用的管理工具
    日常工作中常用的管理工具SWOT分析法:帮你清晰地把我全局,分析自己在资源方面的优势域劣势,把握环境提供的机会,防范可能存在的风险与威胁,对我们的成功有非常重要的意义PDCA循环规则:每一项工作,都是一个pdca循环,都需要计划、实施、检查结果,并进一步进行改进,同时进入下一个循......
  • 企业为什么要进行数据资产管理工作:价值与案例剖析
    在数字化浪潮席卷全球的今天,数据已经成为企业不可或缺的重要资产。数据资产管理,作为确保数据资产价值得以最大化利用的关键环节,正逐渐成为企业战略规划中的核心议题。本文将深入剖析企业进行数据资产管理工作的必要性,并结合实践案例,展示数据资产管理在企业实际运营中的价值。......
  • 【Mysql】MySQL存储引擎的介绍
    文章目录前言一、存储引擎简介二、使用场景三、总结前言在处理大量数据的系统中,如何快速准确的获取所需的信息是一个重要的问题。这就像在一个巨大的图书馆中寻找一本书,如果没有目录或指南,这将是一项艰巨的任务。在数据库中,我们使用索引来解决这个问题。本文将介绍M......
  • CDAM|数据资产管理:解锁企业价值的金钥匙
    随着信息技术的飞速发展,数据已经成为企业最重要的资产之一。有效地管理数据资产,不仅有助于提升企业的运营效率,更能为企业的战略决策提供有力支持。本文将深入探讨数据资产管理的重要性、挑战以及实施策略,以期为企业打造一套高效、安全的数据资产管理体系提供有益的参考。数据......
  • 基于web网吧座位预约管理系统设计与实现
      博主介绍:黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。所有项目都配有从入门到精通的基础知识视频课程,学习后应对毕业设计答辩。项目配有对应开发文档、开题报告、任务书......