SQL MySQL转储

mysqldump -h [server] -u [user] -p [dbname] > [file].sql

SQL 将表复制到新表中

CREATE TABLE tablename_copy AS SELECT * FROM tablename

SQL Búsquedassensql

select * from pm_bloque_bk where CONVERT(lower(metadatos), 'US7ASCII') like convert('%aleman%','US7ASCII')

SQL SQL显示WaitTime和其他进程统计信息

select * 
from sys.sysprocesses 
where loginame <> 'sa'

SQL 更新,落在Eintrag schon vorhanden,sonst INSERT

mysql_query(“INSERT INTO sample VALUES( $id, ‘$name’, ‘$tag’) ON DUPLICATE KEY UPDATE name=’$name’,tag=’$tag’”);

SQL 设置MySQL root密码

SET PASSWORD FOR root@localhost=PASSWORD('RootPasswordHere');
FLUSH PRIVILEGES;

SQL 检查MySQL查询

# mysqladmin -vi 1 proc

SQL 在数据库表中存储IP地址

SELECT INET_ATON('192.168.0.10') AS ipn;
SELECT INET_NTOA(3232235530) AS ipa;
INSERT INTO tbl VALUES (..., INET_ATON('192.168.0.10'), ...);

SQL SQL Server:查找table.column,其中列名为LIKE x

SELECT sc.[name] as column_name, so.[name] as table 
FROM syscolumns sc 
INNER JOIN sysobjects so ON sc.id=so.id 
WHERE sc.[name] LIKE '%x%'

SQL SQL重建开发数据库

CREATE PROCEDURE RebuildDevDatabase AS

-- the original database (use 'SET @DB = NULL' to disable backup)
DECLARE @DB varchar(200)
SET @DB = 'LiveDatabase'

-- the backup filename
DECLARE @BackupFile varchar(2000)
SET @BackupFile = 'C:\Backups\SQL\RebuildDevDatabase\db_backup.dat'

-- the new database name
DECLARE @TestDB varchar(200)
SET @TestDB = 'DevDatabase'

-- the new database files without .mdf/.ldf
DECLARE @RestoreFile varchar(2000)
SET @RestoreFile = 'C:\Backups\SQL\RebuildDevDatabase\db_backup'


-- ****************************************************************
--                    no change below this line
-- ****************************************************************


DECLARE @query varchar(2000)

DECLARE @DataFile varchar(2000)
SET @DataFile = @RestoreFile + '.mdf'

DECLARE @LogFile varchar(2000)
SET @LogFile = @RestoreFile + '.ldf'

IF @DB IS NOT NULL
BEGIN
    SET @query = 'BACKUP DATABASE ' + @DB + ' TO DISK = ' + QUOTENAME(@BackupFile, '''') + ' WITH INIT, SKIP'
select @query
    EXEC (@query)
END

-- RESTORE FILELISTONLY FROM DISK = 'C:\temp\backup.dat'
-- RESTORE HEADERONLY FROM DISK = 'C:\temp\backup.dat'
-- RESTORE LABELONLY FROM DISK = 'C:\temp\backup.dat'
-- RESTORE VERIFYONLY FROM DISK = 'C:\temp\backup.dat'

IF EXISTS(SELECT * FROM sysdatabases WHERE name = @TestDB)
BEGIN
    SET @query = 'ALTER DATABASE ' + @TestDB + '  SET SINGLE_USER with ROLLBACK IMMEDIATE'
    EXEC (@query)
    SET @query = 'DROP DATABASE ' + @TestDB
    EXEC (@query)
END

RESTORE HEADERONLY FROM DISK = @BackupFile
DECLARE @File int
SET @File = @@ROWCOUNT

DECLARE @Data varchar(500)
DECLARE @Log varchar(500)

SET @query = 'RESTORE FILELISTONLY FROM DISK = ' + QUOTENAME(@BackupFile , '''')

CREATE TABLE #restoretemp
(
 LogicalName varchar(500),
 PhysicalName varchar(500),
 type varchar(10),
 FilegroupName varchar(200),
 size int,
 maxsize bigint
)
INSERT #restoretemp EXEC (@query)

SELECT @Data = LogicalName FROM #restoretemp WHERE type = 'D'
SELECT @Log = LogicalName FROM #restoretemp WHERE type = 'L'

PRINT @Data
PRINT @Log

TRUNCATE TABLE #restoretemp
DROP TABLE #restoretemp

IF @File > 0
BEGIN
    SET @query = 'RESTORE DATABASE ' + @TestDB + ' FROM DISK = ' + QUOTENAME(@BackupFile, '''') + 
        ' WITH MOVE ' + QUOTENAME(@Data, '''') + ' TO ' + QUOTENAME(@DataFile, '''') + ', MOVE ' +
        QUOTENAME(@Log, '''') + ' TO ' + QUOTENAME(@LogFile, '''') + ', FILE = ' + CONVERT(varchar, @File)
    EXEC (@query)
END
GO