Heim >Datenbank >MySQL-Tutorial >Eine vollständige Sammlung klassischer MYSQL-Anweisungen – Techniken
1, 1=1, 1=2 werden häufig in SQL-Anweisungskombinationen verwendet
„wobei 1=1“ bedeutet, alles auszuwählen, „wobei 1=2“ bedeutet, nicht alles auszuwählen,
Zum Beispiel : if @strWhere !=''
begin
set @strSQL = 'select count(*) as Total from [' + @tblName + '] where ' + @strWhere
end
else
begin
set @strSQL = 'select count(*) as Total from [' + @tblName + ']'
end
Wir können es direkt als
Fehler schreiben! Katalogeintrag nicht gefunden.
set @strSQL = 'select count(*) as Total from [' + @tblName + '] where 1=1 stabilisieren'+ @strWhere 2. Verkleinern Sie die Datenbank
--Index neu erstellen
DBCC REINDEX
DBCC INDEXDEFRAG
--Daten und Protokolle verkleinern
DBCC SHRINKDB
DBCC SHRINKFILE
3. Komprimieren Sie die Datenbank
dbcc Shrinkdatabase(dbname)
4. Übertragen Sie die Datenbank auf eine neuer Benutzer Benutzerberechtigungen vorhanden
exec sp_change_users_login 'update_one','newname','oldname'
go
5. Überprüfen Sie den Sicherungssatz
RESTORE VERIFYONLY from disk='E:dvbbs.bak' GO
7. Protokoll löschen
SET NOCOUNT ON
DECLARE @LogicalFileName sysname,
@MaxMinutes INT,
@NewSize INT
USE tablename – Der Name der zu erstellenden Datenbank betätigt
SELECT @ LogicalFileName = 'tablename_log', -- Name der Protokolldatei
@MaxMinutes = 10, -- Beschränkung der zulässigen Zeit zum Umschließen des Protokolls.
@NewSize = 1 -- Die Größe der Protokolldatei Sie möchten (M) festlegen
Einrichten / Initialisieren
DECLARE @OriginalSize int
SELECT @OriginalSize = size
FROM sysfiles
WHERE name = @LogicalFileName
SELECT 'Original Size of ' + db_name() + ' LOG ist ' +
CONVERT(VARCHAR(30),@OriginalSize) + ' 8K Seiten oder ' +
CONVERT(VARCHAR(30),(@OriginalSize*8/1024)) + 'MB'
FROM sysfiles WHERE name = @LogicalFileName
CREATE TABLE DummyTrans
(DummyColumn char (8000) not null)
DECLARE @Counter INT,
@StartTime DATETIME,
@ TruncLog VARCHAR(255)
SELECT @StartTime = GETDATE(),
@TruncLog = 'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ONLY'
DBCC SHRINKFILE (@LogicalFileName, @NewSize)
EXEC (@TruncLog)
– Umschließt das Protokoll, falls erforderlich.
AND (@OriginalSize * 8 /1024) > @NewSize
BEGIN – Äußere Schleife.
SELECT @Counter = 0
WHILE ((@Counter < @OriginalSize / 16) AND (@Counter < 50000))
BEGIN -- update
INSERT DummyTrans VALUES ('Fill Log') DELETE DummyTrans
SELECT @Counter = @Counter + 1
END
EXEC ( @TruncLog)
END
SELECT 'Final Size of ' + db_name() + ' LOG is ' +
CONVERT(VARCHAR(30 ),size) + ' 8K Seiten oder ' +
CONVERT( VARCHAR(30),(size*8/1024)) + 'MB'
FROM sysfiles WHERE name = @LogicalFileName
DROP TABLE DummyTrans
SET NOCOUNT OFF
8. Beschreibung: Eine Tabelle ändern
exec sp_changeobjectowner 'tablename','dbo'
9. Änderungen in allen Tabellen speichern
PROCEDURE ERSTELLEN dbo.User_ChangeObjectOwnerBatch
@OldOwner als NVARCHAR(128),
@NewOwner als NVARCHAR(128)
AS
DECLARE @Name als NVARCHAR(128)
DECLARE @Owner als NVARCHAR(128)
DECLARE @OwnerName als NVARCHAR (128)
curObject CURSOR DECLARE FOR
select 'Name ' = name,'Owner' = user_name(uid) from sysobjects where user_name(uid)=@OldOwner order by name
OPEN curObject
FETCH NEXT FROM curObject INTO @Name, @Owner
WHILE(@@ FETCH_STATUS=0)
BEGIN
if @Owner=@OldOwner
begin
set @OwnerName = @OldOwner + '.' + rtrim(@Name)
exec sp_changeobjectowner @OwnerName, @NewOwner
End
– select @name,@NewOwner,@OldOwner
FETCH NEXT FROM curObject INTO @Name, @Owner
ENDE
curObject schließen
curObject freigeben
GO
10. Daten direkt in eine Schleife in SQL SERVER schreiben
declare @i int
set @i=1
while @i< ;30
begin
in Testwerte (Benutzer-ID) einfügen( @i) set @i=@i+1
Ende
Fall:
Unten finden Sie eine Tabelle, die verlangt, dass alle, die nicht bestanden haben, korrigiert werden müssen, und auf der Grundlage einer Erhöhung von 0,1 jedes Mal werden sie einfach bestehen:
Nennen Sie die Punktzahl
Zhangshan 80
Lishi 59
Wangwu 50
Songquan 69
while((select min(score) from tb_table)<60)
begin
update tb_table set score = Punktzahl*1,01
wobei Punktzahl< ;60
if (select min(score) from tb_table)>60
break
else
continue
end
Das Obige ist die vollständige Sammlung klassischer MYSQL-Anweisungen - Fähigkeiten Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!