精华内容
下载资源
问答
  • thinkphp5.x 判断数据库表是否存在

    千次阅读 2019-01-19 10:29:08
    thinkphp5系统有些地方要修改表,但是修改之前...//这是要查询的表的原始名称【没有加配置前缀】,$data['table_name']。 $tableName=config('database.prefix').$data['table_name']; $isTable=db()->query...

     thinkphp5系统有些地方要修改表,但是修改之前要验证这个数据库表是否存在。

    这里分享下我的数据库表是否存在验证。

    //验证表是否存在
    //这是要查询的表的原始名称【没有加配置前缀】,$data['table_name']。
    $tableName=config('database.prefix').$data['table_name'];
    $isTable=db()->query('SHOW TABLES LIKE '."'".$data['table_name']."'");
    if($isTable){
        //表存在
    }else{
        //表不存在
    }

     

    展开全文
  • 初始化SQL脚本 ...Oracle没有drop table if exists或create table if not exists语法,所以需要自己处理。第一种情况:如果表存在,先删除再建立。begin for x in (select table_name from all_tables wh

    初始化SQL脚本

    安装软件时要初始化数据库,通常的需求是新建表、索引、视图、存储过程等对象,插入初始数据。Oracle没有drop table if exists或create table if not exists语法,所以需要自己处理。第一种情况:如果表存在,先删除再建立。begin   for x in (select table_name from all_tables where owner=...



    sqlite create table if not exists例子  谷歌


      4). "IF NOT EXISTS"从句:
        如果当前创建的数据表名已经存在,即与已经存在的表名、视图名和索引名冲突,那么本次创建操作将失败并报错。然而如果在创建表时加上"IF NOT EXISTS"从句,那么本次创建操作将不会有任何影响,即不会有错误抛出,除非当前的表名和某一索引名冲突。
        sqlite> CREATE TABLE testtable (first_col integer);
        Error: table testtable already exists
        sqlite> CREATE TABLE IF NOT EXISTS testtable (first_col integer);

    http://www.cnblogs.com/stephen-liu74/archive/2012/02/13/2321668.html

    Android 判断SQLite数据库中是否存在某一个表格  

    2013-03-23 20:09:15|  分类: Sqlite |举报 |字号 订阅

    有两种方法,

    第一种方法是:不需要知道表是否存在,在创建表的时候加上if not exists 例:create table if not exists myTable(...) ,这样做的好处是,不需要知道表是否存在,只要每次都进行创建即可。因为里面有判断,如果表存在的时候,再执行这句不会发生重复创建表的情况。

    第二种方法是:直接执行某个SQL语句,用try...catch来捕获数据库操作的异常。当异常表示数据库表不存在的时候,再进行处理。例:

    try{

    Cursor c = getWritableDatabase().query("select * from myTable",null );

    catch(Exception e) // 或者是 SQLiteException .

    {//添加处理代码,例如:创建表。

    }

    第二种的方法不如第一种好,原因是:第二种写起来比较麻烦,还有,如果有其它异常的时候,需要对异常来进行判别,并处理。

    PS:

    上面的E文中有一种方法是判断query的返回值,那个别想了,我在测试的时候,如果表被删除了,一到那里就崩溃,只能通过try...catch的方法。

    http://ningtukun.blog.163.com/blog/static/18654144520132238915882/

    展开全文
  • 名字自己定(用字母的)创建表1、字段定义类型在创建表之前需要知道字段类型分类数值类型:数值类型(摘自网络)日期和时间类型:日期和时间类型(摘自网络)字符类型:字符类型(摘自网络)2、判断数据库中是否存在想要创建...

    创建数据库

    8b47efdcf2ed987778406a1cb96bbc21.png

    新建数据库,名字自己定(用字母的)

    创建表

    1、字段定义类型

    在创建表之前需要知道字段类型分类

    数值类型:

    d28dd842a6febbde484bd74eec4bf0eb.png

    数值类型(摘自网络)

    日期和时间类型:

    c16feb356a1b6b6f7128ac3070acfcc4.png

    日期和时间类型(摘自网络)

    字符类型:

    a99f83c7cc5e9e6d557032750090a5f4.png

    字符类型(摘自网络)

    2、判断数据库中是否存在想要创建表的名字,一般是有的话就删除,前提是里面没有自己已经保存的重要数据

    /*判断是否有叫 financial 的表了,如果存在(EXISTS)就删除*/DROP TABLE IF EXISTS financial;

    注:每段完整的代码后都应该跟一个结束符号,MySQL中以英文的分号作为结束标识(;),在MySQL中用“/* */ ”添加自己的注释

    3、sql创建表

    这里是创建的叫 financial 的表

    CREATE TABLE financial (/* id 是自增的()AUTO_INCREMENT) 且不为空*/id bigint(18) NOT NULL AUTO_INCREMENT,province varchar(20) NOT NULL COMMENT '省份',idcard varchar(50) NOT NULL COMMENT '身份证',age int(10) not NULL COMMENT '年龄',amount decimal(18,2) NOT NULL COMMENT '金额',/*以id作为主键 */PRIMARY KEY (id),/*将id作为索引,多个字段作为索引可以英文逗号分隔*/key Index_id (id) )ENGINE=INNODB DEFAULT CHARSET=utf8;

    注:如果不想字段为空,可以设置字段的属性为 NOT NULL,AUTO_INCREMENT定义列为自增的属性,数值会自动加1,ENGINE 设置存储引擎,CHARSET 设置编码。

    删除表

    /* table_name 你要删除的表名*/DROP TABLE  table_name ;

    我先创建一个financial_test的空表,执行删除操作

    1fc4552933ee814becc6ff197e028de9.png

    在当前数据库中执行删除表操作

    右键表刷新即可

    ae54bde5b4515d099f1f4329795fe6ea.png

    刷新表

    a650b0529219ad173a7875788363e702.png

    表刷新后

    插入数据

    /* 插入数据自增ID不用赋值,每插入一条数据,自增ID会加1,字段之间一定要用英文的逗号分隔,VALUES 对应赋值    字符数据要用 英文的单引号括起来*/INSERT INTO table_name ( 字段1, 字段2,...字段N )                                           VALUES                                           ( '字段1的值', 字段2的值,...字段N的值 );
    /* 在我建的表里面插入我的第一条数据,数据是随机生成的*/INSERT INTO financial (province,idcard,age,amount) VALUES('天津市','12010119441010****',76,1009900);
    44a0fd53be227db169e42e46e9141f1b.png

    插入一条数据

    /*每一条都要用英文的分号分隔开*/INSERT INTO financial (province,idcard,age,amount) VALUES('四川省','51253219520322****',68,41599.75);INSERT INTO financial (province,idcard,age,amount) VALUES('云南省','53293119530606****',67,8835.78);INSERT INTO financial (province,idcard,age,amount) VALUES('广东省','44060119530529****',67,54917);INSERT INTO financial (province,idcard,age,amount) VALUES('山东省','37072819530807****',67,8645.58);INSERT INTO financial (province,idcard,age,amount) VALUES('江苏省','32092319530101****',67,48624.27);INSERT INTO financial (province,idcard,age,amount) VALUES('安徽省','34282619540929****',66,53899);INSERT INTO financial (province,idcard,age,amount) VALUES('河北省','13290319540507****',66,6463);INSERT INTO financial (province,idcard,age,amount) VALUES('河南省','41232719541011****',66,3127.7);INSERT INTO financial (province,idcard,age,amount) VALUES('江苏省','34020319540127****',66,47156);
    e4eaf928c008bd2e61245a9b809b9fc8.png

    多条数据的插入

    8a89b6370513a2f95cfbefa68e8e645b.png

    刷新表数据就可以看到里面的数据

    注:数据量过大的excel,可以用kettle抽数,以后会发布一些操作教程。

    查询数据

    1、表查询

    /*table_name 你要查询的表名*/select  * from table_name;
    805bceebd727ad7d5a768ce499e2e2d0.png

    查询结果

    2、单条件查询

    /*select 字段1,字段2 from 中间是字段的,每个字段用英文逗号分隔 有条件查询的在from 后面用where 加条件来筛选数据*/select 字段1,字段2,字段3 from table name where 字段1='条件1' ;

    查找户籍是福建省的记录:

    65cc74ed05d33db97f531b126e068ed2.png

    单条件查询

    3、多条件查询(and / or)

    /*多条件筛选的用  and 连接的情况*/select 字段1,字段2,字段3 from table name where 字段1='条件1' and 字段2='条件2' ;

    查找户籍是福建省的,并且金额大于等于20000的记录:

    f7a5a57a31aef4601af0f45859705595.png

    多条件查询(and)

    /*多条件筛选的用  or 连接的情况*/select 字段1,字段2,字段3 from table name where 字段1='条件1' or 字段2='条件2' ;

    查找金额大于100000和金额小于6000的记录:

    f4c47f654e6dc1ee25e34a0f6a640961.png

    多条件查找(or)

    4、字段重命名

    有时候需要获取的字段较多的时候,又都是字母或者单词,把数据取出来后再重命名会很不方便,所以在查询的时候就要重命名。

    在MySQL里面用 as 来对字段重命名,重新命名的用英文引号括起来

       select   字段1 as '重命名1',   字段2 as '重命名1',    字段3 as '重命名1'   from   table_name   where    字段1='条件1';

    将查询出来是"福建省"记录的字段重命名:

    89c6acb7ae722656998a5e63c60291a8.png

    字段重命名

    展开全文
  • 这个问题就是如何判断数据中某张表是否存在,如果不存在则创建它。恩,我先用了最笨的方法,就是写个select从表中读数据,捕获异常的同时就知道了改表没有创建。此法不通,因为这个时候的异常似乎被认定为了系统错误...

    刚刚被一个比较麻烦的问题所困扰。这个问题就是如何判断数据中某张表是否存在,如果不存在则创建它。

    恩,我先用了最笨的方法,就是写个select从表中读数据,捕获异常的同时就知道了改表没有创建。

    此法不通,因为这个时候的异常似乎被认定为了系统错误,于是后面创建表的代码被忽略了。

    大部分人的做法类似于select system.table where tabblename='***',反正我曾经用类似的句子查询过DB2,是成功的。

    但是,我现在面对的不是DB2,而是7个不同的数据库,基本上常用的都包括了。是不是每类数据库都有上面的查询语句呢?是否查询语句相似呢?于是我挑了hsqldb,也是当前的默认数据库,来寻找解决办法。

    很遗憾,我没有找到类似前面的句子。正当我打算放弃的时候发现了下面的代码,这段代码是我从一个国外的论坛中找到的,尽管我不知道它是不是万能钥匙,但是他这次对我而言确成了万能的:

    java.sql.Connection con = getYourConnection();
       
    ResultSet rs = con.getMetaData().getTables(nullnull, "yourTable", null);
    if (rs.next()) {
    //yourTable exist
    }
    else {
    //yourTable not exist
    }

    转载于:https://www.cnblogs.com/duanxz/archive/2012/12/01/2797018.html

    展开全文
  • bootstrap-table复选框默认选中----- 本来以为挺简单的一个事情:就一个表格的默认选中。结果到网上一搜。发现却没有一个回答的我想要。所以就自己总结了一下。
  • 对于sybase/sql server就比较简单,可以使用if exists(select 1 from sysobjects where id=object_id("表的名称") and type="U")drop table "表的名称"go---然后创建即可。但是对于oracle就没有对应的语法。如果直接...
  • 1. create table if not exists person(id varchar(20),name,age)...如果创建表,建议先判断一下,如: create table if not exists person(id,name,age);//如果没有这个表,就创建,有不创建   如果新增一条记录
  • 要给oracle某个字段插入空值非常简单 insert into table(column) values('') 但是查询的时候通过语句 ...select * from table where ...查询是查不到结果的,因为表中column是没有内容的,不能直接使用‘’;...
  • 1.通过获取Excel对象,然后使用Excel的QueryTable方法生成数据到Excel表指定位置,速度比较快 2.通过连接Access创建选择集,然后将选择集批量插入Excel指定位置,速度比较快 3.通过连接Excel表,将Excel表作为...
  • 数据库语句

    2020-05-24 18:36:27
    #判断数据表teacher是否存在,如果存在删除从新创建,如果没有则创建 drop table if EXISTS teacher; #创建教师表 create table teacher( tid int(4) primary key auto_increment, teaName VARCHAR(50) not null )...
  • 好像都没有比较好的方案。我本来是想在数据库取到N+1条的时候,报错,然后抓取这个错误来解决的。可惜后台根本不报错。 我现在的方案是,开始的时候查一次数据库的count(*),并将其赋给变量rowCount。当前记录为...
  • mdf数据库恢复

    2014-07-01 11:23:50
     4、加入比dbcc更加精准的数据库诊断功能,可以判断数据库的损坏情况以及相应的解决方案(目前加入了一个页内碎片的重建功能,并且会明确标识损坏的库的页面以及页面所对应的表)  5、 加入了导出功能,程序会自动给...
  • 数据库优化

    2018-01-15 18:27:17
    数据库设计方面 1. 避免全表扫描 2. 考虑在where以及order by 设计的列上建立索引 3. 尽量避免在where字句上对null值进行判断(否则引擎放弃使用索引而进行全表扫描)  Select id from table where num is ...
  • 数据库(二)

    2021-01-30 08:37:58
    DDL(Data Definition ...-- 判断数据库中是否有db1的表,如果没有就创建,有的话,执行这条SQL不报错。 2.creat database if not exists db1 character set utf8; 3.CREATE TABLE t_cloud_operation_data ( id int(1
  • 数据库(一)

    2021-01-29 09:19:48
    DDL(Data Definition ...-- 判断数据库中是否有db1的表,如果没有就创建,有的话,执行这条SQL不报错。 2.creat database if not exists db1 character set utf8; 3.CREATE TABLE t_cloud_operation_data ( id int(1
  • mysql数据库操作

    2018-08-16 12:38:50
    1、创建数据库: create database 数据库名 charset = utf8; 2、删除数据库 :drop database 数据库名; 3、切换数据库 use 数据库名 4、查看当前选择的数据库 select database(); 5、查看有多少数据库: show ...
  • 今天在浏览网页,无意间看到这个,之前并没有特别的注意到此写法,记载下来作为记录,希望有他用武之地。 select * from v$reserved_words where keyword in( select COLUMN_NAME from all_tab_columns where...
  • 数据库方面东西

    2020-02-24 11:12:01
    数据库服务不正常,经常超时或连接不上解决方法: ...3: 通过执行计划判断,索引问题(有没有不合理)或者语句本身问题 4: show status like ‘%lock%’;查询锁状态 5:SESSION_ID;杀掉有问题的session ...
  • limit相关数据库优化

    2020-10-09 16:40:11
    limit1数据库优化 场景使用 工作中对于某些特殊场景使用limit 1可以大大加快sql语句的效率。 如判断用户名是否已经使用: select count(user_nme) from table where user_name = 'XXX' limit 1; 这种场景下只要有一...
  • 4、加入比dbcc更加精准的数据库诊断功能,可以判断数据库的损坏情况以及相应的解决方案(目前加入了一个页内碎片的重建功能,并且会明确标识损坏的库的页面以及页面所对应的表) 5、 加入了导出功能,程序会自动给...
  • 其实有很简单的办法,不需要先执行select,再判断,再insert 只需要再insert语句中加入 ignore 即可 ignore用作屏蔽错误提示 insert ignore into TABLE_NAME … 如果有主键唯一异常,则会忽略本条插入语句 uodate...
  • 公司有个导数据的工具,是把数据库里面的一条条记录生成SQL文件, 然后导入到别的数据库里面,在导入SQL文件的时候非常慢, 以前没有这个问题。 后来网上查了下,也做了实验都没有效果。 后来看了下postgresql SQL的...
  • 4、加入比dbcc更加精准的数据库诊断功能,可以判断数据库的损坏情况以及相应的解决方案(目前加入了一个页内碎片的重建功能,并且会明确标识损坏的库的页面以及页面所对应的表) 5、 加入了导出功能,程序会自动给...
  • oracle数据库经典题目

    2011-02-17 15:05:20
    限定返回的行的判断条件 D. 对结果集进行排序 8. 下列哪个函数可以把一个列中的所有值相加求和? ( B ) A MAX B. SUM C. COUNT D. AVG 9. 下列哪个子句是SELECT语句中必选项?( A ) A. FROM B.WHERE C.HAVING D. ...
  • 使用悲观锁实现幂等性,一般是配合事务一起来实现,在没有使用悲观锁时,我们通常的执行过程是这样的,首先来判断数据的状态,执行 SQL 如下: select status from table_name where id='xxx'; 然后再进行添加操作...
  • 实务12 administrator\local settings\temp\orainstall没有足够的磁盘空间, 实务12 请再装备一些磁盘空间,然后再试” 实务 实务13 创建数据库时,出现错误“ora-03113: end-of-file on 实务13 communication ...
  • 实务12 administrator\local settings\temp\orainstall没有足够的磁盘空间, 实务12 请再装备一些磁盘空间,然后再试” 实务 实务13 创建数据库时,出现错误“ora-03113: end-of-file on 实务13 communication ...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 205
精华内容 82
关键字:

判断数据库没有table