用select语句来代替show create table
用select语句来代替show create table来简单显示表结构,此语句不包含创建表索引语句。
select语句查询表结构:
SET @db_name='aa';
SET @table_name='bb';
SELECT TABLE_NAME,
CONCAT('CREATE TABLE ','`',TABLE_NAME,'` (',GROUP_CONCAT(
"\r\n",
CONCAT(CONCAT('`',COLUMN_NAME,'`'),
' ',
COLUMN_TYPE,
' ',
IF(IS_NULLABLE='NO','NOT NULL',''),IF(COLUMN_TYPE='text','',IF(COLUMN_DEFAULT IS NULL AND IS_NULLABLE='NO','',CONCAT(' DEFAULT ',IF(COLUMN_DEFAULT IS NULL,'NULL',CONCAT('\'',COLUMN_DEFAULT,'\'')))))),
IF(EXTRA='','',' auto_increment')
),
CONCAT(",\r\n",'PRIMARY KEY (`',(SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=@db_name AND TABLE_NAME=@table_name AND COLUMN_KEY='PRI'),'`)',"\r\n",')'),
(SELECT CONCAT(' ENGINE=',ENGINE,' DEFAULT CHARSET=',SUBSTRING(TABLE_COLLATION,1,LOCATE('_',TABLE_COLLATION)-1)) FROM information_schema.TABLES WHERE TABLE_SCHEMA=@db_name AND TABLE_NAME=@table_name)
) AS TABLE_SCHEMA
FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=@db_name AND TABLE_NAME=@table_name;
话说这个改改貌似可以用来注入了。。
不过这个还是有局限性的,group_concat长度一般默认为1024,所以对于结构太复杂的表可能会发生截断,显示不完整。
用select语句来代替show create table相关推荐
- ireport修改jrxml中的sql语句_SQL中的create table与insert into语句
学习交流,欢迎留言~~ 今天学习SQL的时候遇到了个小疑问,创建数据表肯定是用create table语句的,但是为什么后面总是跟随着insert into呢? 身为一个不弄白不舒服斯基,走起~~~ ...
- oracle数据库【表复制】insert into select from跟create table as select * from 两种表复制语句区别...
create table as select * from和insert into select from两种表复制语句区别 create table targer_table as select ...
- MySQL 对 CREATE TABLE IF NOT EXISTS SELECT 的处理
MySQL 支持创建数据表时判断是否存在,存在则不创建,不存在则创建,相应语句如下: --格式 CREATE TABLE IF NOT EXISTS [Table Definition];--示例 C ...
- mysql create table select from_mysql create table select复制表结构和数据实例讲解
比如现在有一张表,我们要将该表复制一份,以备以后使用,那么如何使用mysql语句来实现呢?其实我们可以直接使用create ... select ... from语句来实现,具体实现方法请看下面实例. ...
- create table as select性能测试
转载自:http://blog.csdn.net/yangzhijun_cau/article/details/7396088 ------------------------------------ ...
- 8.2.2 使用SHOW CREATE TABLE语句查看表结构
8.2.2 使用SHOW CREATE TABLE语句查看表结构 MySQL支持使用SHOW CREATE TABLE语句查看数据表的建表语句.通过SHOW CREATE TABLE语句,不仅可以查看 ...
- mysql附录建表_用CREATE TABLE 语句创建数据表
用CREATE TABLE 语句创建数据表 用 CREATE TABLE 语句创建表.此语句的完整语法是相当复杂的,因为存在那么多的可选子句,但在实际中此语句的应用相当简单.如我们在第 1 章中使用的 ...
- mysql中新建数据库create table的COLLATE是什么?
在mysql中执行show create table <tablename>指令,可以看到一张表的建表语句,example如下: CREATE TABLE `table1` (`id` b ...
- Hive建表语句详解--CREATE TABLE
创建表的三种方法 Hive创建表的方式(默认路径/user/hive/warehouse,也可以location指定,主要针对external表) 1.使用create命令创建一个新表,带分区 CRE ...
最新文章
- OpenGL 有时候纹理映射的部分问题
- HttpSession
- SAP UI5 初学者教程之十一 :SAP UI5 容器类控件 Page 和 Panel 试读版
- js遍历Object所有属性
- 使用BIND安装智能DNS服务器(一)---基本的主从DNS服务器搭建
- mysql 表示时间_MySQL-时间(time、date、datetime、timestamp和year)
- 【转】css_重绘重排
- Kotlin协程的迷惑
- DSP实验二c语言程序,实验1.2:编写一个以C语言为基础的DSP程序
- 用 java编写 金字塔_用Java打印金字塔
- windows开启远程桌面
- 【ubutun22.04】mac修改与吉林大学校园网链接
- error:unable to recogni “*.yaml“ze no matcher for kind “Deployment“ in version “extensions/b1beta1“
- 183. Customers Who Never Order没有下过订单的顾客MySQL
- 《VALORANT》: 双塔迷城的诞生
- terracotta安装配置与集群过程
- TCP/IP(十一)TCP滑动窗口和拥塞控制
- 2017.12.20 静态网页小实战
- 试问失恋怎么说 郭乔伊抛单曲《爱情没电了》
- Java 将 Excel 转换为 PDF 文件
热门文章
- 图片、pdf、wrod和excel 在线预览
- 【Java安装】Windows10 Java8下载安装配置
- HTML5 CSS3专题 诱人的实例 CSS3打造百度贴吧的3D翻牌效果 以及图片提交
- AXI协议(3):AXI架构的握手机制和实现细节
- java结合swing多线程实现打字游戏
- Error:Artifact 'xx.war exploded' has invalid extension
- win7打印机共享怎么设置 图解win7打印机共享设置技巧
- 鼠标猫html,游标猫(鼠标特效插件)
- 使input文本框不可编辑的方法
- 「实在RPA·财务数字员工」加速财务数字化全方位升级!