标签: sql

INSERT与SELECT

我有一个使用select插入的查询:

INSERT INTO courses (name, location, gid) 
            SELECT name, location, gid 
              FROM courses 
             WHERE cid = $cid
Run Code Online (Sandbox Code Playgroud)

是否可以只为插入选择"名称,位置",并将gid设置为查询中的其他内容?

mysql sql insert-select

270
推荐指数
4
解决办法
37万
查看次数

在SQL中选择CHAR over VARCHAR的用例有哪些?

我意识到如果我的所有值都是固定宽度的话,建议使用CHAR.但是,那又怎样?为什么不为所有文本字段选择VARCHAR只是为了安全.

sql t-sql sql-server

269
推荐指数
10
解决办法
16万
查看次数

如何在不复制数据的情况下创建Oracle表的副本?

我知道声明:

create table xyz_new as select * from xyz;
Run Code Online (Sandbox Code Playgroud)

哪个复制结构和数据,但如果我只想要结构呢?

sql oracle copy database-table

269
推荐指数
5
解决办法
54万
查看次数

什么更快,MySQL中的SELECT DISTINCT或GROUP BY?

如果我有一张桌子

CREATE TABLE users (
  id int(10) unsigned NOT NULL auto_increment,
  name varchar(255) NOT NULL,
  profession varchar(255) NOT NULL,
  employer varchar(255) NOT NULL,
  PRIMARY KEY  (id)
)
Run Code Online (Sandbox Code Playgroud)

我希望获得所有独特的profession字段值,更快(或推荐):

SELECT DISTINCT u.profession FROM users u
Run Code Online (Sandbox Code Playgroud)

要么

SELECT u.profession FROM users u GROUP BY u.profession
Run Code Online (Sandbox Code Playgroud)

mysql sql database group-by distinct

269
推荐指数
8
解决办法
17万
查看次数

错误1046没有数据库选中,如何解决?

错误SQL查询:

--
-- Database: `work`
--
-- --------------------------------------------------------
--
-- Table structure for table `administrators`
--
CREATE TABLE IF NOT EXISTS `administrators` (

`user_id` varchar( 30 ) NOT NULL ,
`password` varchar( 30 ) NOT NULL ) ENGINE = InnoDB DEFAULT CHARSET = latin1;
Run Code Online (Sandbox Code Playgroud)

MySQL说:

#1046 - No database selected
Run Code Online (Sandbox Code Playgroud)

这里需要一些帮助.

mysql sql mysql-error-1046

269
推荐指数
9
解决办法
70万
查看次数

如何在SQL Server中使用单个ALTER TABLE语句删除多个列?

我想编写一个SQL命令来从一个ALTER TABLE语句中删除单个表中的多个列.

来自MSDN的ALTER TABLE文档 ......

DROP { [CONSTRAINT] constraint_name | COLUMN column_name }
Run Code Online (Sandbox Code Playgroud)

指定从表中删除constraint_name或column_name.如果兼容级别为65或更早,则不允许使用DROP COLUMN.可以列出多个列和约束.

它说mutliple列可以在语句中列出,但语法不显示可选的逗号或任何甚至暗示语法的东西.

我应该如何编写SQL以在一个语句中删除多个列(如果可能)?

sql t-sql sql-server alter

269
推荐指数
5
解决办法
36万
查看次数

在MySQL中获取表列名称?

有没有办法在mysql中获取表的列名?用php

php mysql sql

268
推荐指数
7
解决办法
43万
查看次数

MySQL中的ROW_NUMBER()

MySQL是否有一种很好的方式来复制SQL Server功能ROW_NUMBER()

例如:

SELECT 
    col1, col2, 
    ROW_NUMBER() OVER (PARTITION BY col1, col2 ORDER BY col3 DESC) AS intRow
FROM Table1
Run Code Online (Sandbox Code Playgroud)

然后,我可以,例如,添加一个限制intRow为1 的条件,以获得col3(col1, col2)对最高的单行.

mysql sql row-number rank greatest-n-per-group

268
推荐指数
11
解决办法
49万
查看次数

使用子查询更新postgres中的表行

使用postgres 8.4,我的目标是更新现有表:

CREATE TABLE public.dummy
(
  address_id SERIAL,
  addr1 character(40),
  addr2 character(40),
  city character(25),
  state character(2),
  zip character(5),
  customer boolean,
  supplier boolean,
  partner boolean

)
WITH (
  OIDS=FALSE
);
Run Code Online (Sandbox Code Playgroud)

最初我使用insert语句测试了我的查询:

insert into address customer,supplier,partner
SELECT  
    case when cust.addr1 is not null then TRUE else FALSE end customer, 
    case when suppl.addr1 is not null then TRUE else FALSE end supplier,
    case when partn.addr1 is not null then TRUE else FALSE end partner
from (
    SELECT *
        from address) pa
    left outer …
Run Code Online (Sandbox Code Playgroud)

sql postgresql subquery sql-update

268
推荐指数
5
解决办法
28万
查看次数

如何在mysql中检查列是空还是空

我在表中有一列可能包含null或空值.如何在表中存在的行中检查列是空还是空.

(e.g. null or '' or '  ' or '      ' and ...)
Run Code Online (Sandbox Code Playgroud)

mysql sql

268
推荐指数
11
解决办法
63万
查看次数