查询mysql表结构的语句,mysql查询表结构语句
mysql中查询数据库中表名称和结构的sql语句是什么啊啊
function list_table($db){ $result=mysql_list_tables($db); $list.=""; while($rows=mysql_fetch_row($result)){ $list.="
".$rows[0].""; } $list.=""; return $list; }这个是⽤php写的可以查询某个数据库⾥的所有表的⽅法。
sql查看表结构的语句
select C.name,T.name,primarykey = case (select is_primary_key from sys.indexes IDX where IDX.object_id=IDXC.object_id lumn_lumn_id )when 1 then 1else 0end lumns C --有关列信息表INNER JOINsys.objects O --表的信息表onO.object_id=C.object_idINNER pes T --数据类型onC.system_type_id=T.system_type_idleft JOIN
sys.index_columns IDXC--主键信息onC.object_id=IDXC.object_idwhere O.name=N'表名' 如果对您有帮助,请记得采纳为满意答案,谢谢!祝您⽣活愉快!vaela。
解决mysql查询数据库所有的表名称和表结构的sql语句怎么写
查询MySQL数据库所有表名的SQL命令: show tables; 查询MySQL数据库有表结构的SQL命令: show create table tblName; 例如:show create table students; CREATE TABLE `students` ( `sid` char(10) NOT NULL, `sname` varchar(50) NOT NULL,
`sex` char(1) NOT NULL, `dob` date NOT NULL, `phone` varchar(30) DEFAULT NULL, PRIMARY KEY (`sid`), KEY
`index_tbl1_url` (`phone`(20)) ) ENGINE=InnoDB DEFAULT CHARSET=gb2312。
mysql多表查询sql语句怎么写
⼀使⽤SELECT⼦句进⾏多表查询SELECT 字段名 FROM 表1,表2 … WHERE 表1.字段 = 表2.字段 AND 其它查询条件SELECT
a.id,a.name,a.address,a.date,
b.lish,b.chinese FROM tb_demo065_tel AS b,tb_demo065 AS a WHERE a.id=b.id注:在上⾯的的代码中,以两张表的id字段信息相同作为条件建⽴两表关联,但在实际开发中不应该这样使⽤,最好⽤主外键约束来实现⼆使⽤表的别名进⾏多表查询如:SELECT a.id,a.name,a.address,b.lish,b.chinese FROM tb_demo065 a,tb_demo065_tel b WHERE
a.id=b.id AND b.id='$_POST[textid]'SQL语⾔中,可以通过两种⽅式为表指定别名 第⼀种是通过关键字AS指定,如SELECT a.id,a.name,a.address,b.lish,b.chinese FROM tb_demo065 AS a,tb_demo065_tel AS b WHERE a.id=b.id第⼆种是在表名后直接加表的别名实现SELECT a.id,a.name,a.address,b.lish,b.chinese FROM tb_demo065 a,tb_demo065_tel b WHERE a.id=b.id 使⽤表的别名应注意⼏下⼏点(1)别名通常是⼀个缩短了的表名,⽤于在连接中引⽤表中的特定列,如果连接中的多个表中有相同的名称列存在,必须⽤表名或表的别名限定列名(2)如果定义了表的别名就不能再使⽤表名三合并多个结果集SQL语⾔中,可以通过UNION 或 ALL将多个SELECT语句的查询结果合并输出,这两个关键字的使⽤说明如下:UNION:利⽤该关键字可以将多个SELECT 语句的查询结果合并输出,并删除重复⾏ALL:利⽤该关键字可以将多个SELECT 语句的查询结果合并输出,但不会删除重复⾏在使⽤UNION或ALL关键字将多个表合并输出时,查询结果必须具有相同的结构并且数据类型必须兼容,另外使⽤UNION时两张表的字段数量也必须相同,否则会提⽰SQL语句有错误。
e.x:SELECT id,name,pwd FROM tb_demo067 UNION SELECT uid,price,date FROM tb_demo067_tel四简单嵌套查询⼦查询:⼦查询是⼀个SELECT查询,返回单个值且嵌套在SELECT、INSERT、UPDATE和DELETE语句或其它查询语句中,任何可以使⽤表达式的地⽅都可以使⽤⼦查询.SELECT id,name,sex,date FROM tb_demo068 WHERE id in(SELECT id FROM tb_demo068 WHERE
id='$_POST[test]')内连接:把查询结果作为WHERE⼦句的查询条件即称为内连接五复杂的嵌套查询多表之间的嵌套查询可以通过谓词IN 实现,语法格式如下:test_expression[NOT] IN{subquery}参数说明:test_expression指SQL表达式,subquery包含某结果集的⼦查询多表嵌套查询的原理:⽆论是多少张表进⾏嵌套,表与表之间⼀定存在某种关联,通过WHERE⼦句建⽴此种关联实现查询六嵌套查询在查询统计中的应⽤实现多表查询时,可以同时使⽤谓词ANY、SOME、ALL,这些谓词被称为定量⽐较谓词,可以和⽐较运算符联合使⽤,判断是否全部返回值都满⾜搜索条件.SOME和ANY谓词是存在量的,只注重是否有返回值满⾜搜索条件,这两个谓词的含义相同,可以替换使⽤;ALL谓词称为通⽤谓词,它只关⼼是否有谓词满⾜搜索要求.SELECT * FROM tb_demo069_people WHERE uid IN(SELECT deptID FROM tb_demo069_dept WHERE deptName='$_POST[select]')SELECT a.id,a.name FROM tb_demo067 AS a WHERE id<3)>ANY ⼤于⼦查询中的某个值 >=ANY ⼤于等于⼦查询中的某个值 <=ANY ⼩于等于⼦查询中的某个值 =ANY 等于⼦查询中的某个值!=ANY或<>ANY 不等于⼦查询中的某个值 >ALL ⼤于⼦查询中的所有值 >=ALL ⼤于等于⼦查询中的所有值 <=ALL ⼩于等于⼦查询中的所有值 =ALL 等于⼦查询中的所有值 !=ALL或<>ALL 不等于⼦查询中的所有值七.使⽤⼦查询作派⽣的表在实际项⽬开发过程中经常⽤到从⼀个信息较为完善的表中派⽣出⼀个只含有⼏个关键字段的信息表,通过⼦查询就可以来实现这⼀⽬标,如SELECT
people.name,people.chinese,people.lish FROM (SELECT name,chinese,math,engli
sh FROM tb_demo071) AS people注:⼦查询应遵循以下规则:(1)由⽐较运算符引⼊的内层⼦查询只包含⼀个表达式或列名,在外层语句中的WHERE⼦句内命名的列必须与内层⼦查询命名的列兼容(2)由不可更改的⽐较运算符引⼊的⼦查询(⽐较运算符后⾯不跟关键字ANY或ALL)不包括GROUP BY 或HAVING⼦句,除⾮预先确定了成组或单个的值(3)⽤EXISTS引⼊的SELECT列表⼀般都由*组成,不必指定列名(4)⼦查询不能在内部处理其结果⼋使⽤⼦查询作表达式SELECT (SELECT AVG(chinese)FROM tb_demo071),(SELECT AVG(english)FROM tb_demo071), (SELECT AVG(math)FROM tb_demo071) FROM tb_demo071注:在使⽤⼦查询时最好为列表项取个别名,这样可以⽅便⽤户在使⽤mysql_fetch_array()函数时为表项赋值,如SELECT (SELECT AVG(chinese) FROM tb_demo071) AS yuwen ,(SELECT
sql中union多表合并AVG(english) FROM tb_demo071) AS yingyu,(SELECT AVG(mat。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论