精华内容
下载资源
问答
  • 2021-04-20 01:04:27

    当某人在数据库中创建一个表时, 通常该表的结构对于任何人都应该易于阅读, 但是根据开发人员的经验, 由于很难进行心理映射, 使用它可能会变得混乱。想象一下一个表, 其中一个列为is_default, 其可能值为1或0(是或否), 例如以下表human_values:

    id

    HUMAN_VALUE

    is_default

    1

    honesty

    1

    2

    tolerance

    1

    3

    patience

    1

    4

    hatred

    0

    在这种情况下, 人类必须honesty, 宽容和耐心, 通常不应该恨任何人。嗯, 这不是问题, 因为你可以理解表, 除非有人决定将表单的逻辑更改为is_default而不是is_optional。 is_optional列的值仍与旧的is_default命名法相同。由于该列中的所有值均未完成新的命名法, 因此它们将是错误的。现在, 逻辑将相反:

    id

    HUMAN_VALUE

    is_optional

    1

    honesty

    1

    2

    tolerance

    1

    3

    patience

    1

    4

    hatred

    0

    根据这张表, 现在的人类不能honesty, 宽容或耐心, 应该憎恨。为了解决这个问题, 你可以轻松地使用一个查询来反转列的值, 例如, 要翻转human_values表的每一行的所有is_optional列值, 可以使用以下查询语法:

    /** Invert all the values of the specified column **/

    UPDATE tableName

    SET `your_boolean_or_tiny_int_field` = NOT `your_boolean_or_tiny_int_field`

    要更改行值, 我们将使用UPDATE语句, 指示应修改特定的表。然后, 使用SET语句定义分配其相同值但在NOT条件之前添加字段的新值。 NOT是取反的条件, 在这种情况下, 它有助于反转列的当前值, 例如0现在为1, 1为0。

    对于我们的表human_values, 查询应类似于:

    /** Invert all the values of the is_optional column **/

    UPDATE human_values

    SET `is_optional` = NOT `is_optional`

    运行上一个查询将更新表的所有4行, 并保留以下结构:

    id

    HUMAN_VALUE

    is_optional

    1

    honesty

    0

    2

    tolerance

    0

    3

    patience

    0

    4

    hatred

    1

    如你所见, 所有零都转换为1, 反之亦然。请记住, 示例查询修改了所有行, 你可以根据需要添加WHERE语句来限制修改后的行。

    编码愉快!

    更多相关内容
  • 数据库表翻转90°

    千次阅读 2010-12-09 15:42:00
    数据库翻转 行列置换 sql 90°

    以下学生的数据为本人引用,出处已找不到了。图片部分为原创,希望大家有问题可以交流。

     

     

    STUNO CNAME                     MARK
     ----- -------------------- ----------
     1001 CHINESE                      80
     
    1001 ENGLISH                      80
     
    1001 MATH                         90
     
    1002 CHINESE                      88
     
    1002 ENGLISH                      87
     
    1002 MATH                         90
     
    1003 CHINESE                      89
     
    1003 ENGLISH                      87
     
    1003 MATH                         84
                            
    用SQL显示成这种效果

     学生编号      汉语       英语       数学
     
    -------- ---------- ---------- ----------
        1003         89         87         84
        
    1001         80         80         90
        
    1002         88         87         90

    --常规解决方法(适用于所有的数据库)
    SELECT DISTINCT A.ID "学生编号", B.MARK "汉语", 
    C.MARK "英语", D.MARK "数学"
    FROM SCORE A
    INNER JOIN SCORE B ON A.ID=B.ID AND B.CNAME='CHINESE'
    INNER JOIN SCORE C ON A.ID=C.ID AND C.CNAME='ENGLISH'
    INNER JOIN SCORE D ON A.ID=D.ID AND D.CNAME='MATH'
    ORDER BY A.ID;

    --ORACLE解决方法(仅限于ORACLE数据库)
    SELECT ID "学生编号",
    SUM(DECODE(CNAME,'CHINESE',MARK,NULL)) "汉语",
    SUM(DECODE(CNAME,'ENGLISH',MARK,NULL)) "英语",
    SUM(DECODE(CNAME,'MATH',MARK,NULL)) "数学"
    FROM SCORE GROUP BY ID ORDER BY ID;

     

     

    --此外自己还总结了两种方法(适合sqlserver2005数据库)

    1。下图为原始数据

     

    2.下图的表头不可重命名

    3.下图的表头可以重命名

     

     

     

     

     

     

     

    展开全文
  • 翻转课堂在Oracle数据库课程中的应用.pdf
  • 基于SPOC翻转课堂的创新Oracle数据库课程教学研究.pdf
  • 项目实践方法结合翻转课堂在Oracle数据库课程中的应用.pdf
  • 翻转课堂理念下的高职院校SQL Server数据库教学策略研究.pdf
  • 人工智能专业“数据库技术”课程翻转课堂教学研究.pdf
  • 数据库与数据挖掘技术翻转课堂教学模式的实践分析 摘要翻转课堂教学模式是先学后教理念在教学中的创新应用集课前预习课中内化课后巩固于一体强调学生主体作用的发挥将翻转课堂教学模式引入到中职学校的数据库与数据...
  • 基于SPOC翻转课堂的创新Oracle数据库课程教学研究.docx
  • 数据库与数据挖掘技术翻转课堂教学模式的实践.pdf
  • 基于SPOC的翻转课堂项目教学实践研究——以SQL SERVER数据库课程为例.pdf
  • 翻转课堂在数据库课程中的研究与应用
  • 数据库实验 包含九个实验 有多种排序算法 链表的插入删除翻转等 树的三种遍历算法 字符串算法 移位密码 代换密码等
  • 基于学习通平台的翻转课堂教学活动设计——以中职《SQL数据库》课程教学活动为例.pdf
  • 翻转课堂模式对项目化课程实施效果的研究——以《SQL Server数据库开发与实现》课程为例.pdf
  • 这个项目主要有手机上对SQLite数据库的数据的增删查改、listView上拉数据加载、图片轮播 等等功能。
  • 明年考研了,想着写个简单的检查词频的程序,这个程序功能就是,读取文本,分割出每个单词,以及每个单词出现的次数,保存到数据库并且导出文本。写的比较粗糙,由于不会Java爬虫,要读取的文本只能自己去网上找一些...

    明年考研了,想着写个简单的检查词频的程序,这个程序功能就是,读取文本,分割出每个单词,以及每个单词出现的次数,保存到数据库并且导出文本。写的比较粗糙,由于不会Java爬虫,要读取的文本只能自己去网上找一些文献复制,数据库那里用的基础的jdbc写的比较混乱,翻译调用的百度翻译的接口,开发环境IDEA。项目保存在https://github.com/Adam-hohai/WordSplit,我用的英文报刊是参考的何凯文的每日一句。

    package hhuc.cenhelm;
    
    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONObject;
    import hhuc.cenhelm.tools.TransApi;
    
    import java.io.*;
    import java.sql.*;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    import java.util.StringTokenizer;
    
    public class Main {
    
        /**
         * 百度翻译的id和密钥
         */
        private static final String APP_ID = "*********";
        private static final String SECURITY_KEY = "*********";
    
        /**
         * 读取txt文件
         *
         * @param pathName txt路径
         * @return 文件内容字符串
         */
        public static String read(String pathName) throws IOException {
            StringBuilder content = new StringBuilder();
            File fileName = new File(pathName);
            InputStreamReader reader = new InputStreamReader(new FileInputStream(fileName));
            BufferedReader br = new BufferedReader(reader);
            String line = br.readLine();
            content.append(line);
            while (line != null) {
                line = br.readLine();
                content.append(line);
            }
            return content.toString();
        }
    
        /**
         * 将英文文献中的单词分离保存到键值对
         *
         * @param rule    分离规则
         * @param content 文献内容
         * @return 单词和次数的键值对
         */
        public static Map<String, Integer> splitOut(String content, String rule) {
            StringTokenizer st = new StringTokenizer(content, rule);
            Map<String, Integer> wordMap = new HashMap<String, Integer>();
            while (st.hasMoreElements()) {
                String word = st.nextElement().toString().toLowerCase();
    //            System.out.println(word);
                if (word.length() > 3) {
                    if (wordMap.get(word) == null) {
                        wordMap.put(word, 1);
                    } else {
                        int frequency = wordMap.get(word);
                        wordMap.remove(word);
                        wordMap.put(word, frequency + 1);
                    }
                }
    
            }
            return wordMap;
        }
    
        /**
         * 调用百度翻译接口
         *
         * @param transApi 百度翻译接口
         * @param word     要翻译的内容
         * @return 翻译结果
         */
        public static String translate(TransApi transApi, String word) {
            //百度翻译接口返回的是json字符串
            String jsonResult = transApi.getTransResult(word, "auto", "zh");
            StringTokenizer tokenizer = new StringTokenizer(jsonResult, "\"}]");
            String result = "";
            //找到最后一个
            while (tokenizer.hasMoreTokens()) {
                result = tokenizer.nextToken();
            }
            //将json字符串简化一下
            String json = "{\"result\":\"" + result + "\"}";
            JSONObject jsonObject = JSON.parseObject(json);
            return jsonObject.get("result").toString();
        }
    
        /**
         * 连接数据库
         *
         * @return 返回Connection对象
         * @throws Exception 可能抛出异常
         */
        public static Connection getConnection() throws Exception {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            String url = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=EnNewspaperHKW";
            String user = "sa";
            String password = "*****";
            Connection conn = DriverManager.getConnection(url, user, password);
            System.out.println("数据库连接成功");
            return conn;
        }
    
        public static void main(String[] args) throws Exception {
            // write your code here
    
            String content = null;
            try {
                content = read("src/main/resources/2020033150.txt");
            } catch (Exception e) {
                e.printStackTrace();
            }
            System.out.println(content);
            String rule = ", !./';:?\"()“”‘’-—$%#!&*——_1234567890|`~·[]{}";
            Map<String, Integer> wordMap = splitOut(content, rule);
            //调用百度翻译的接口
            TransApi transApi = new TransApi(APP_ID, SECURITY_KEY);
            //遍历键值对,操作数据库
            Connection connection = getConnection();
            PreparedStatement psSel = null, psIns = null, psUpd = null;
            ResultSet rsSel = null;
            String sqlSel, sqlIns, sqlUpd = "";
            Iterator<String> iterator = wordMap.keySet().iterator();
            while (iterator.hasNext()) {
                String word = iterator.next();
                String translation = translate(transApi, word);
                int frequency = (int)wordMap.get(word);
                System.out.println(word + " " + translation + " " + frequency);
    
                //写入txt
                File fileName = new File("src/main/resources/2020033150output.txt");
                BufferedWriter out = new BufferedWriter(new FileWriter(fileName,true));//文件追加
                out.write(word + " " + translation + " " + frequency + "\r\n");
                out.flush();
                out.close();
    
                //操作数据库
                sqlSel = "select * from hkwDailyData where word=?";
                psSel = connection.prepareStatement(sqlSel);
                psSel.setString(1, word);
                rsSel = psSel.executeQuery();
                if (rsSel.next()) {
                    sqlUpd = "update hkwDailyData set frequency = frequency +? where word =?";
                    psUpd = connection.prepareStatement(sqlUpd);
                    psUpd.setInt(1,frequency);
                    psUpd.setString(2,word);
                    psUpd.executeUpdate();
                    System.out.println("更新成功");
    
                } else {
                    sqlIns = "insert into hkwDailyData(word,translation,frequency) values (?,?,?)";
                    psIns = connection.prepareStatement(sqlIns);
                    psIns.setString(1, word);
                    psIns.setString(2, translation);
                    psIns.setInt(3, frequency);
                    psIns.executeUpdate();
                    System.out.println("插入成功");
                }
    
            }
            psUpd.close();
            psIns.close();
            psSel.close();
            rsSel.close();
            connection.close();
            System.out.println("提取结束");
        }
    }
    

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • SQL Server 数据库中,不同类型的数据进行运算时;游优先级低的类型会自动转换为优先级搞得数据类型,即隐式转换; 当数据类型无法转换时,可使用转换函数将一种数据类型转换为另一种数据类型,即显式转换; SQL ...

    1. 概述

    SQL Server 数据库中,不同类型的数据进行运算时;游优先级低的类型会自动转换为优先级搞得数据类型,即隐式转换;
    当数据类型无法转换时,可使用转换函数将一种数据类型转换为另一种数据类型,即显式转换;
    SQL Server 数据库中的类型转换函数包含两个:Cast 和 Convert,二者功能类似,但 Convert 函数的功能更强;
    注意: 隐性转换对用户是不可见的,SQL Server 数据自动将数据从优先级低的数据转换为优先级搞得数据类型;

    2. Cast 函数

    Cast 函数将表达式由一种数据类型转换为另一种数据类型;
    Cast 函数的语法格式为:

    Cast(expression As data_type[{length}]) 
    

    expression 为任何有效的表达式
    参数 data_type 为目标数据类型,这包含 xml、bigint 和 sql_variant,不能使用别名数据类型;
    参数 length 指定目标数据类型长度的可选整数,默认值为 30;

    3. Convert 函数

    Convert 函数与 Cast 函数的功能类似,将表达式由一种数据类型为另一种数据类型;
    Convert 函数的语法格式为:

    Convert(data_type[{length}],expression[,style])
    

    expression 为任何有效的表达式;
    参数 data_type 为目标数据类型,这包括 xml、bigint 和 sql_variant,不能使用别名数据类型;
    参数 length 指定目标数据类型长度的可选参数,默认值为 30;
    参数 style 指定 Convert 函数如何转换 expression 的整数的表达式;
    20220410
    20220410
    例子 1:获取系统当前时间,并以 ISO 格式输出

    select CONVERT(char(10),getdate(),112)
    

    20220410
    例子 2:将字符串 “13.54” 转换为数值型数据并加上 5

    select CONVERT(float,'13.54')+5
    

    20220410

    展开全文
  • 在mysql数据库中关于日期时间字段的处理在开发中,日期时间字段一般有如下几种设计假设要获取2013-08-15日到2013-08-16日之间的记录1. 直接使用日期时间类字段相关sql语句如下select * from cms_news wherenews_add_...
  • 在做springBoot数据库连接时,连接路径有所不同 dataSource . setUrl ( "jdbc:mysql://localhost:3306/springboot?characterEncoding=utf8&useUnicode=true&useSSL=false&serverTimezone=UTC" ) ;
  • Oracle数据库表行列倒置

    千次阅读 2014-06-24 22:12:29
    --删除学生成绩 drop table stuStore; --创建学生成绩 create table stuStore  (   stuNum number(4), --学号  stuClass varchar2(20), --课程  stuStores number(3) --成绩 ); --向学生成绩中插入测试...
  • 25. K 个一组翻转链表 给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。 k 是一个正整数,它的值小于或等于链表的长度。 如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。 示例:...
  • Python:数列翻转

    2022-03-30 13:08:41
    编写程序,对列表中的数据进行翻转转换,即将数组中第一个数和最后一个数交换、第二个数和倒数第二个数交换,依此类推。 建议使用列表的reverse方法。在搜索引擎输入“python reverse”可以检索到该方法的用法描述...
  • Apache ShardingSphere 是一个开源生态系统,由一套分布式数据库解决方案... 因此,我们更愿意关注它的增量而不是完全翻转。 Apache ShardingSphere 从 5.x 版本开始专注于可插拔架构,特性可以嵌入到项目的灵活性中。
  • 数据库开发-10-考试题复习
  • java 动态操作数据库

    2021-03-05 23:45:53
    问题描述:比如项目现在要...问题思路:除了8个数据库之外,在建一个数据库数据库中包含的几张:储存登录用户的信息等,直接上图理解一、数据库的建立h_right:h_role:红色表示登录人所属哪一区h_role_right:分...
  • 一、Oracle数据库操作1、创建数据库create database databasename2、删除数据库drop database dbname3、备份数据库完全备份exp demo/demo@orcl buffer=1024 file=d:\back.dmp full=ydemo:用户名、密码buffer: 缓存...
  • 大学计算机翻转课堂实施方案-翻转课堂教学案例评比《大学计算机》翻转课堂实施方案一、课程基本信息课程名称:大学计算机英文名称:University Computer课程类别:基础课程总学时:32;授课:26;实验:6总学分:2先...
  • ci_flip:测试BE翻转

    2021-02-22 03:40:36
    数据库导入本地MySQL 打开PHPMyAdmin 创建数据库ci_flip 标签导入 选择文件ci_flip.sql 去 API端点 方法 终点 描述 邮政 / api / bankaccount 获取银行帐户信息 得到 / api /支出 获取所有付款 得到 / api /...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,491
精华内容 6,596
关键字:

数据库表的翻转