问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

数据库如何管理

发布网友 发布时间:2022-04-23 04:37

我来回答

4个回答

懂视网 时间:2022-04-07 20:18

例子一:

在数据库中往往有以下的统计操作,要统计某种类型的样本有多少个,并且找出大于500个样本的类型,以及拥有的样本数目。具体例子如,在SQL中,一个表的定义如下:

CREATE TABLE t_account(
 account varchar(100),
 account_type TINYTEXT,
 PRIMARY KEY (account),
};

account为账号,account_type为该账号的类型,写出一个sql,统计账号数累计超过5000个账号类型,并显示对应的账号数,即结果中每行是(账号类型,账号数)

select account_type, count(account) from t_account group by account_type having count(account)>5000;

例子二:(Leetcode196: Delete Duplicate Emails)

Write a SQL query to delete all duplicate email entries in a table named Person, keeping only unique emails based on its smallest Id.

+----+------------------+
| Id | Email  |
+----+------------------+
| 1 | john@example.com |
| 2 | bob@example.com |
| 3 | john@example.com |
+----+------------------+
Id is the primary key column for this table.

For example, after running your query, the above Person table should have the following rows:

+----+------------------+
| Id | Email  |
+----+------------------+
| 1 | john@example.com |
| 2 | bob@example.com |
+----+------------------+

找到要保留的数据 然后用not in 来删除不再这些数据中的记录。大家很容易就想到如下的sql语句:

delete from Person where Id not in (select * from (select min(Id) from Person group by Email));

  但是mysql删  除动作不能带有本表的查询动作,意思是你删除users表的东西不能以Person表的信息为条件 所以这个语句会报错,执行不了。只要通过创建临时表作为查询条件。具体实现如下:

delete from Person where Id not in (select * from (select min(Id) from Person group by Email) as w);

  

数据库常用操作整理

标签:

热心网友 时间:2022-04-07 17:26

管理数据库主要做好以下3方面的内容:

一、数据库定期备份

首先利用数据库自带的命令行工具将数据库备份下来,然后将该文件以日期参量重命名。

数据库定期备份的原因:

1)、有些数据是随时变化的,备份可以记录某时间点的数据;

2)、如数据库故障,可以随时还原。

二、数据库优化

1)、进行sql语句的执行优化;

2)、减少应用和数据库的交互次数、同一个sql语句的执行次数;

3)、整理数据库实体的碎片(特别是对某些表经常进行insert和delete动作,尤其注意,索引字段为系列字段、自增长字段、时间字段,对于业务比较频繁的系统,最好一个月重建一次);

4)、减少表之间的关联,特别对于批量数据处理,尽量单表查询数据,统一在内存中进行逻辑处理,减少数据库压力(java处理批量数据不可取,尽量用c或者c++ 进行处理,效率大大提升);

5)、对访问频繁的数据,充分利用数据库cache和应用的缓存;

6)、数据量比较大的,在设计过程中,为了减少其他表的关联,增加一些冗余字段,提高查询性能。

三、数据库日志文件管理

1、查看数据库中日志文件;

默认是三个组,这是数据库创建时自己添加的三个日志文件组;

2、添加日志文件组并添加成员。

热心网友 时间:2022-04-07 18:44

1.编程或者软件开发是肯定需要的,因为需要大量的实践才能发现自己的不足。软件开发方面,建议多实践一些大型的mis系统(信息管理系统),因为mis系统涉及到的数据库通常是很复杂的,知识覆盖面也是很全面的。语言方面,数据库的sql语句是肯定要精通的,开发语言随便找一个OO语言(面向对象语言)。这只是因为开发需要。
2.数据库原理是必须学习的,它里面涉及到的不是sql语句,而是最基本的数据库设计问题,在管理数据库方面,你要学习最基本的表表关系,实体关系,处理N对N的问题等等。有一本“数据库原理”,好像是在计算机科学系列书籍里,网上可以搜到,这本书至少是我认为目前讲解数据库最好的一本书,在本科和研究生课程里都是以这本书作为教材的。
3.从最基本的表设计,到复杂的数据处理,不是说经历什么阶段就可以成为出色管理员的。一定要说阶段的话,你可以凭借自己经历的软件开发的规模来衡量。专业的学习在一年内就可以成为出色的数据库管理员,当然,要经过很多项目的磨练,靠书本学习理论是会外强中干的,呵呵

参考资料:百度一下

热心网友 时间:2022-04-07 20:35

一楼挺全的了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
冠状病毒酒精消毒怎么使用 袁咏仪主演的真爱之百万新娘哪个网站可以看 ...方便的话告诉我结局怎么样。陈玉是不是死了 冉冉东升可以组什么句子 求我姓冉的专属句子 弹弹堂高手之路全部过完给多少强化石 百度弹弹堂2里面的《高手之路高级高抛打法(高级)》《高手之路高级高差训 ... 弹弹堂工厂3怎么打 弹弹堂高手之路的任务怎么触发的 腹肌练习计划 做梦梦见自己的手机充电充爆了,代表啥意思 怎么在淘宝网上买东西?? 学习数据库的心得 手机充电器总是被烧坏是怎么回事? 面包机和厨师机的区别 厨师机可以和糯米粉么 怎样在淘宝网上买东西 做面包用厨师机揉面团大概要多长时间才能揉出膜? 梦见自己的充电器头被别人偷去搞坏了叫他培钱他还跟我讲价是什么意思? 什么是数据库?数据库有什么用? 梦的暗示 不做面包有必要买厨师机吗? 面包机与厨师机有什么区别 梦见充电器的线断了、头还起火了 一套好的学习数据库的方法 家庭用厨师机和和面机哪个实用? 学习数据库该注重哪些方面的学习 做梦见手机充电器烧着了什么意思 面包机和厨师机哪个实用 如何学习数据库? 为什么人睡觉会打呼噜? 在淘宝网上买东西都需要什么? 手机充电器烧坏了的原因都有什么? 学数据库怎么入门? 手机充电器被烧是什么原因 关于数据库的学习 手机充电器插头烧坏是什么原因造成的 想从事数据库方面的工作应该学习哪些知识? 手机充电器烧坏的原因都有什么? 怎么在淘宝网上买东西? 想从事数据库,具体该学些什么 手机充电器被烧坏了,还能修好吗? 怎么样在淘宝网上买东西? 面试题:关系型数据库mysql知识点梳理总结 在淘宝网上买东西怎么买? 如何在淘宝网上买东西? 在淘宝网上怎么买东西 怎样在淘宝网上买东西啊? 怎样在淘宝网上买东东? win 10 如何去掉定时关机指令 怎么取消Windons7的定时关机命令?