未来往事
与人交往,要善于发现别人的优点。 [2017年 第50周/共52周]

ThinkPHP ISNULL/ThinkPHP查询空字段数据

ThinkPHP ISNULL , ThinkPHP查询空或非空字段数据

  1. $where['age'] = array('exp',' is NULL');
  2. $where
......
+阅读全文

MySQL查找空字段或不为空的字段

MySQL查找空字段或不为空的字段

MySQL查询空字段数据:

  1. select * from table where id = '';
......
+阅读全文

sql查询过滤手机号码数据 mysql

mysql查询为手机号码的数据

  1. select * from basic_user_info where mobilephone is not null and
......
+阅读全文

SQL去重统计

SQL去除重复后并统计所有行语句

  1. SELECT COUNT(distinct parkNum) AS num FROM park_room WHERE `areaId` = 1 AND `status` =
......
+阅读全文

SQL查询重复数据并列出重复数据

SQL按字段查询重复数据并列出重复数据

例如:查询重复2次的数据并列出

  1. select * from park_room where parkNum in (
......
+阅读全文

MySQL查询数据表唯一或相同重复数据记录

MySQL筛选查询数据库唯一数据记录,非重复数据,仅显示唯一的数据:

  1. select parkNum ,count(parkNum) from park_room group by parkNum having count
......
+阅读全文

ThinkPHP联表查询/关联查询

ThinkPHP联表查询/关联查询/多表查询可以使用 table() 方法或和join方法:

原生查询:
  1. $Model = new Model();  
  2. $sql = 'select a.id,a.title,b.content  from think_test1 as a, think_test2 as b where a.id=b.id '<
......
+阅读全文

MySQL子查询常见格式

MySQL常见的几种子查询形式

mysql从4.1版开始支持子查询功能,在此版本前,可以用join写连表查询来进行替代,但不推荐这么写,相当的麻烦。mysql子查询的几种常见写法:

  1. select * from xxx where col =
......
+阅读全文

php中sql语句使用调用变量常用方法

......
+阅读全文

Mysql中批量删除相同表前缀的数据表 sql语句

MySQL批量删除多张表的一条SQL语句

先执行
删除所有pre_前缀的表
SELECT   CONCAT( 'drop table ',table_name,'; ')   FROM   information_schema.tables where information_schema.tables.TABLE_NAME LIKE 'pre_%' ;


删除所有pre_前缀的表 并且 不删除pre_uc前缀的表
SELECT   CONCAT( 'drop table ',table_name,'; ')   FROM 
......
+阅读全文

MySQL 修改字段长度(sql命令)

......
+阅读全文

Discuz!X 后台增加或删除数据表及字段常用SQL语句

很多朋友经常问到discuz后台数据库升级的问题,按情况, 数据库的升级代码可以分三个类别:

1. 建立一个或多个数据表;

2. 建立一个或多个字段(及如何更改字段长度);

3. 添加一个或多个字段的值;



针对以上情况,我们应该怎么判断我们升级的数据库代码属于哪一种类型的呢?

让我们拿作品<鲜花鸡蛋送给作者>来说吧, 这个插件就要用到上面的前两个类别,让我们先来看看第一类:

一、 建立一个表:
CREATE TABLE `cdb_felog` (

`id` mediumint( 20 ) unsigned NOT NULL AUTO_INCREMENT ,

`fromuser` varchar( 15 ) NOT NULL default '',

`touser` varchar( 15 ) NOT NULL default '',

`asfe` varchar( 8 ) NOT NULL default '',

`score` int( 10 ) NOT NULL default '0',

`tid` varchar( 15 ) NOT NULL default '',

`aswhat` varchar( 100 ) NOT NULL default '',

PRIMARY KEY ( `id` )

) TYPE = MYISAM



判断依据: 以   CREATE TABLE   开头,后面跟数据表的名字:  CDB_XXX
结束标致: TYPE = ……

这类就属于上述的第一个类别:添加一个数据表!

反安装方法:
DROP TABLE CDB_XXX

方法简述:这类升级代码的反安装方法很简单,不管这个表有多大,你可需要用DROP TABLE后跟数据表的名字即可,例如我的鲜花鸡蛋插件以上的升级代码,反安装的代码如下:
DROP TABLE cdb_felog


二、建立一个或多个字段:
ALTER TABLE `cdb_posts` ADD `flower` INT(10) DEFAULT '0' NOT NULL;

ALTER TABLE `cdb_posts` ADD `egg` INT(10) DEFAULT '0' NOT NULL;

ALTER TABLE `cdb_threads` ADD `flower` INT(10) DEFAULT '0' NOT NULL;

ALTER TABLE `cdb_threads` ADD `egg` INT(10) DEFAULT '0' NOT NULL;

或:

ALTER TABLE `cdb_members` ADD `putsum` INT( 8 ) NOT NULL ,

ADD `audsum` INT( 8 ) NOT NULL ,

ADD `groomsum` INT( 8 ) NOT NULL ,

ADD `delesum` INT( 8 ) NOT NULL ,

ADD `audit` VARCHAR( 1 ) NOT NULL ;


判断依据: 以   ALTER TABLE   开头,后面跟数据表的名字:  CDB_XXX,再跟 ADD,再跟字段的名称!
注意事项: 这类升级代码有种简写的方式,如果升级一个表内的字段多于一个,就可以用简化方式写

上面第一个升级代码是完整的写法,第二个写法最简写;

两者的区别就在于不用多写  ALTER TABLE `数据表`
在同一个数据表里升级两个或以上的字段,就可以使用这种升级方式了。

反安装方法:
+阅读全文

Mysql 常用SQL语句/命令【二】

Mysql 常用SQL语句/命令

  1.导出整个数据库
  mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 导出的
  文件名(数据库默认编码是latin1)
  mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql

  2.导出一个表
  mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
  mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql

  3.导出一个数据库结构
  mysqldump -u wcnc -p -d -add-drop-table smgp_apps_wcnc >d:wcnc_db.sql
  -d 没有数据 -add-drop-table 在每个create语句之前增加一个drop table

  4.导入数据库
  A:常用source 命令
  进入mysql数据库控制台,
  如mysql -u root -p
  mysql>use 数据库
  然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
  mysql>source wcnc_db.sql
  B:使用mysqldump命令
  mysqldump -u username -p dbname < filename.sql
  C:使用mysql命令
  mysql -u username -p -D dbname < filename.sql

  一、启动与退出
  1、进入MySQL:启动MySQL Command Line Client(MySQL的DOS界面),直接输入
  安装时的密码即可。此时的提示符是:mysql>
  2、退出MySQL:quit或exit

  二、库操作
  1、、创建数据库
  命令:create database <数据库名>
  例如:建立一个名为xhkdb的数据库
  mysql> create database xhkdb;

  2、显示所有的数据库
  命令:show databases (注意:最后有个s)
  mysql> show databases;

  3、删除数据库
  命令:drop database <数据库名>
  例如:删除名为 xhkdb的数据库
  mysql> drop database xhkdb;

  4、连接数据库
  命令: use <数据库名>
  例如:如果xhkdb数据库存在,尝试存取它:
  mysql> use xhkdb;
  屏幕提示:Database changed

  5、查看当前使用的数据库
  mysql> select database();

  6、当前数据库包含的表信息:
  mysql> show tables; (注意:最后有个s)

  三、表操作,操作之前应连接某个数据库
+阅读全文

Mysql 常用SQL语句/命令【一】

Mysql 常用SQL语句/命令

  show databases; 显示数据库

  create database name; 创建数据库

  use databasename; 选择数据库

  drop database name 直接删除数据库,不提醒

  show tables; 显示表

  describe tablename; 显示具体的表结构

  select 中加上distinct去除重复字段

  mysqladmin drop databasename 删除数据库前,有提示。

  显示当前mysql版本和当前日期
  select version(),current_date;

  修改mysql中root的密码:
  shell>mysql -h localhost -u root -p //登录
  mysql> update user set password=password("xueok654123") where user='root';

  mysql> flush privileges //刷新数据库

  mysql>use dbname; 打开数据库:

  mysql>show databases; 显示所有数据库

  mysql>show tables; 显示数据库mysql中所有的表:先use mysql;然后

  mysql>describe user; 显示表mysql数据库中user表的列信息);

  grant
+阅读全文