精华内容
下载资源
问答
  • SQL Server无法删除数据库score”,因为该数据库当前正在使用的解决办法问题描述今天在SQL Server删除一个数据库的时候报错,内容如下: 消息 3702,级别 16 无法删除数据库score”,因为该数据库当前正在...

    问题描述


    今天在SQL Server删除一个数据库的时候报错,内容如下:

    消息 3702,级别 16
    无法删除数据库 “score”,因为该数据库当前正在使用。

    我的SQL原语句是这样的

    drop database score;

    上网搜了一下,找到了解决办法,也在这里记录一下。

    解决方法


    一般我们删除数据库的语句为drop database testdb【数据库名】;

    报这个错误的时候可以写成下面这样:

    USE master
    GO
    drop database testdb;

    此时再执行就不会报错,能够顺利地删除数据库了。

    分析:
    其实原因很简单,就是我们不能删除当前正在使用的数据库。所以 USE master 是使用master数据库,这样就能解除要删除的当前数据库的正在使用的状态了。
    要是还不行,断开数据库再重新连接,然后执行drop语句。

    展开全文
  • `将表名或字段名括起来:-- Clear firstDROP TABLE IF EXISTS `tb_score`;-- Create the tableCREATE TABLE `tb_score`(`id` mediumint,`name` varchar(20),`course` varchar(30),`score` smallint);-- Batch insert...

    `将表名或字段名括起来:

    -- Clear first

    DROP TABLE IF EXISTS `tb_score`;

    -- Create the table

    CREATE TABLE `tb_score`(

    `id` mediumint,

    `name` varchar(20),

    `course` varchar(30),

    `score` smallint

    );

    -- Batch insert, supported by MySQL and DB2

    INSERT INTO tb_score

    (id, name, course, score)

    VALUES

    (1, 'John', 'Biology', 90),

    (2, 'John', 'Biology', 90),

    (3, 'Lisa', 'Chemistry', 80),

    (4, 'John', 'Biology', 90);

    DB2

    数据库中存在重复记录分为两种:

    第一种情形、某些字段的值相同

    第二种情形、所有字段的值相同

    下面是通用SQL语句,对所有关系型数据库的一和二情形都适用:

    查询重复记录,比如姓名-课程出现重复:

    SELECT

    name,

    course,

    COUNT(*) AS "count"

    FROM

    tb_score

    GROUP BY

    name,

    course

    HAVING

    COUNT(*) > 1

    结果:

    +------+---------+-------+

    | name | course  | count |

    +------+---------+-------+

    | John | Biology |     3 |

    +------+---------+-------+

    在上面基础上,查询所有的重复记录:

    SELECT

    *

    FROM

    tb_score a

    WHERE

    (

    a.name, a.course) IN

    (

    SELECT

    b.name,

    b.course

    FROM

    tb_score b

    GROUP BY

    b.name,

    b.course

    HAVING

    COUNT(1) > 1)

    结果:

    +------+------+---------+-------+

    | id   | name | course  | score |

    +------+------+---------+-------+

    |    1 | John | Biology |    90 |

    |    2 | John | Biology |    90 |

    |    4 | John | Biology |    90 |

    +------+------+---------+-------+

    第一种情形:

    a. 采用普通SQL连接的方式,条件是这些字段的值相同,并且其它字段的值大于或小于对应字段的值(只能取一种,等于表示同一条记录)

    查询多余的重复记录:

    SELECT

    *

    FROM

    tb_score a

    WHERE

    EXISTS

    (

    SELECT

    1

    FROM

    tb_score b

    WHERE

    a.name=b.name

    AND a.course=b.course

    AND a.id > b.id)

    结果:

    +------+------+---------+-------+

    | id   | name | course  | score |

    +------+------+---------+-------+

    |    2 | John | Biology |    90 |

    |    4 | John | Biology |    90 |

    +------+------+---------+-------+

    删除多余的重复记录:

    -- MySQL doesn't support

    DELETE

    FROM

    tb_score a

    WHERE

    EXISTS

    (

    SELECT

    1

    FROM

    tb_score b

    WHERE

    a.name = b.name

    AND a.course = b.course

    AND a.id > b.id)

    b. 采用特定于数据库的SQL语句,和第二种情形的写法类似。

    第二种情形

    不同的数据库有不同的解决方案,SQL Server是用DISTINCT关键字,Oracle是ROWID,DB2是ROW_NUMBER OVER(PARTITION BY [FIELDS] ORDER BY [FIELDS])

    准备数据:

    -- Drop and create table are omitted

    -- Batch insert

    INSERT INTO tb_score

    (id, name, course, score)

    VALUES

    (1, 'John', 'Biology', 90),

    (1, 'John', 'Biology', 90),

    (2, 'Lisa', 'Chemistry', 80),

    (1, 'John', 'Biology', 90);

    SQL Server

    删除多余的重复记录:

    CREATE TABLE

    #tmp AS

    SELECT DISTINCT

    *

    FROM

    tb_score;

    TRUNCATE TABLE

    tb_score;

    INSERT

    INTO

    tb_score

    SELECT

    *

    FROM

    #tmp;

    Oracle

    查询多余的重复记录:

    SELECT

    *

    FROM

    tb_score a

    WHERE

    a.ROWID >

    (

    SELECT

    MIN(ROWID)

    FROM

    tb_score b

    WHERE

    a.id = b.id

    AND a.name = b.name

    AND a.course = b.course)

    删除多余的重复记录:

    DELETE

    FROM

    tb_score a

    WHERE

    a.ROWID >

    (

    SELECT

    MIN(ROWID)

    FROM

    tb_score b

    WHERE

    a.id = b.id

    AND a.name = b.name

    AND a.course = b.course)

    DB2

    查询多余的重复记录:

    SELECT

    id,

    name,

    course

    FROM

    (

    SELECT

    id,

    name,

    course,

    ROW_NUMBER() OVER(PARTITION BY id, name, course) AS row_seq

    FROM

    tb_score) t

    WHERE

    t.row_seq > 1

    删除多余的重复记录:

    DELETE

    FROM

    (

    SELECT

    id,

    name,

    course,

    ROW_NUMBER() OVER(PARTITION BY id, name, course) AS row_seq

    FROM

    tb_score) t

    WHERE

    t.row_seq > 1

    分享到:

    18e900b8666ce6f233d25ec02f95ee59.png

    72dd548719f0ace4d5f9bca64e1d7715.png

    2012-05-04 10:01

    浏览 1063

    分类:数据库

    评论

    展开全文
  • 删除数据库的所有表

    2016-10-21 09:38:00
    1 查询所有数据库表 SELECT CONCAT('DROP TABLE IF EXISTS ', table_name, ';') FROM information_schema.tables WHERE table_schema = '你的数据库名'; ...DROP TABLE IF EXISTS app_score_i...

    1 查询所有数据库表

    SELECT CONCAT('DROP TABLE IF EXISTS ', table_name, ';')
    FROM information_schema.tables
    WHERE table_schema = '你的数据库名';

    结果

    DROP TABLE IF EXISTS app_score_info;                
    DROP TABLE IF EXISTS application_info;              
    DROP TABLE IF EXISTS application_setup_info;        
    DROP TABLE IF EXISTS application_version;           
    DROP TABLE IF EXISTS client;                        
    DROP TABLE IF EXISTS comment;                       
    

    2运行查询结果

    展开全文
  • eg: id 学号 姓名 课程编号 课程名称 分数 id sid name cno cname score 1 2016001 张三 0001 数学 69 2 2016002 李四 0001 数学 89 3 2016001 ...

    eg:

    id  学号         姓名    课程编号  课程名称  分数

    id sid            name    cno         cname     score

    1 2016001   张三     0001        数学         69

    2 2016002   李四     0001        数学         89

    3 2016001   张三     0001        数学         69

    sql:

    保留冗余数据中ID最大的数据(MySQL)

    delete from student  where id not in (select  a.id from (select max(id) id from student group by sid,name,cno,cname,score)a);

    other (oracle ...):

    delete from student where id not in (select max(id) from student group by sid,name,cno,cname,score)

    展开全文
  • delete where ScoreId not in (select max(ScoreId) from dbo.Score group by [Name], Score, GroupId, IP) 删除冗余的行数就是一个删除,然后用分组查寻出不是冗余的,然后再删除
  • 准备数据 MySQL的表名和字段名默认为小写。 如果需要大写,使用[b][color=red]`[/color][/b]将表名或字段名括起来...DROP TABLE IF EXISTS `tb_score`; -- Create the table CREATE TABLE `tb_score`( `i...
  • 创建一个实例令有一个c表c(cno,……)create table student(sno int,cno int,ID char(100),sname char(100),sage int,ssex char(50),class char(50),grade char(20),score int,steacher char(50),tel char(100))1 为...
  • 由于网络阻塞,高并发造成生产环境下数据库中的数据重复!!! #所有的去重是将表中多于的记录去重 只有一条的保留 多条重复记录的话只保留ID最小的一个 #userrecoder表的SQL去重 userrecoder学生使用记录表,多个字段,...
  • 小问题大细节,参考文章 : 重点是第二个链接,第一个链接的...DELETE from S_score2 where id IN ( -- 这里再加 一个 select 语句,因为 -- 警告:不能根据本表的查询结果来更新本表的数据,所以给表起个别名 s.
  • if exists(select * from sysdatabases where name='Score') --检查Score数据库是否存在 drop database Score --存在就删除 create database Score --创建Score数据库 on Primary ( name='Score_data',
  • 数据库基本操作语句有哪些?数据库基本操作语句有:1 关于数据库的基本操作SHOW DATABASES; //查询数据库SHOWCREATE DATABASE score; //查询数据库的结构... //使用score数据库DROP DATABASE score; //删除数据库...
  • 数据库实验三

    2020-04-17 17:14:39
    ①通过Navicat对数据库的编码方式进行修改以及数据库的转储和删除 ②使用sql语句查看当前数据库服务器的所有数据库 ③查看前面创建的db2数据库的定义信息并删除前面创建的db1数据库 ④创建数据库:StudentManager ...
  • 数据库删除前天及以前记录(mysql)

    千次阅读 2016-08-27 16:56:34
    $sql="delete * from mix_recordquality_score where status=0 and TO_DAYS(NOW())-TO_DAYS(create_time)>= 1";TO_DAYS(NOW())-TO_DAYS(create_time)>= 1为当前日期减去创建>=1,条件为前天及以前所创建的信息
  • 1、数据库删除 1)删除一条数据 delete from users where name='王五' 2)删除数据库 drop database aa 3)删除表 (区别第二种删除数据不可恢复)  drop table score \truncate table users ...
  • create datebase xuesheng --建立一个xuesheng的数据库,注意要有go go create table xueshengxinxi ( code int, --编号为int name varchar(20), --名字为varchar score decimal(1...
  • 一、比上一个查询三个基础上,创建了两个新表stu_svgscore和stu_sumscore下面有直接利用select创建...更新 删除等进阶操作1、在score表中插入一条记录,15010号学生14号课程的平时成绩是86,考试成绩是80 2、求每一...
  • * 商品数据库 */ public class ShangPinDB { private static ShangPinDBHelper mShangPinDBHelper = null; private static ShangPinDB mInstance = null; /** * 删除一条商品???这个怎么写? */ ...
  • 要求:当从学生表中删除某学生信息时,同时删除score表中此学生相关的选课记录。 (9)创建一个触发器student_insert,实现功能:如果往学生表中插入数据,则自动修改班级表中的班级人数classNum。(如果改为删除...
  • 数据库原理及应用》课程实验 实验1 创建数据库和数据表 一、实验目的 熟悉SQL Server Management Studio界面;掌握通过图形化向导和执行Transact-SQL语句创建数据库的方法。 二、实验环境 Windows7操作系统,...
  • create trigger Delete_Student --创建一个触发器 on student instead of delete as declare @sno varchar(20) select @sno= sno from deleted ... delete from score where sno=@sno delete from stude...
  • 删除', width=10,  height=1, command=delete).grid(row=3, column=2, pady=5) <p>#增加利用树查询数据的功能 dataTreeview = ttk.Treeview(win, show='...
  • 数据库18:外键

    2020-03-19 22:11:14
    数据库 十八、外键 外键:从表的公共字段 外键的约束主要是用来保证引用的完整性的,主外键的名字可以不一样,但是 数据类型可以一样。 特点: 主表中不存在的记录,从表中不能插入 从表已存在的记录,主表中不能删除 ...
  • Oracle数据库基础

    2018-11-06 16:59:00
    create table 创建新表 alter table用来修改表结构 truncate table删除表中的记录 --创建一张表 create table test ( id int primary key, name varchar2(30) not null, score number not nul...
  • 数据库知识整理

    2020-03-30 09:22:20
    目录常见面试题1 请你写一下mysql删除语句2 请你写一些基本的SQL语句3 请你写两个sql语句:统计XX人数、选出课程编号不为XX的学生学号4 某个表格中有10条一模一样的数据,现在要删掉其中的9条,请你写一下sql语句5 ...
  • 数据库基础语法-CUDR

    2020-08-05 09:03:09
    数据库基础语法 DRUD: creat(创建)、read(读取)、update(修改)、delete(删除) 1.添加数据 insert into 表名 values(值) insert into stu values(‘001’,‘张三’,‘陕西省’,‘96’) ; 2.删除数据 delete from ...
  • 2删除数据库 drop database 数据库名; 3现实已经创建的数据库 show databases; 4基本数据类型 * 数据库类型: 1. int:整数类型 * age int, 2. double:小数类型 * score double(5,2) 3. date...
  • 删除成绩不及格的学生' delete from students where score < 60; '3.把id为3的学生的姓名改为 周芷若' update students set name='周芷若' where id=3; 2、逻辑比较 运算符 and or 实例.

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 155
精华内容 62
关键字:

删除score数据库