search
HomeDatabaseMysql TutorialA complete collection of MYSQL classic statements—techniques

1, 1=1, 1=2 are often used in SQL statement combinations
  "where 1=1" means to select all "where 1=2" means not to select all,
 For example: 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
 We can write it directly
 Error! Catalog entry not found.
  set @strSQL = 'select count(*) as Total from [' + @tblName + '] where 1=1 '+ @strWhere 2. Shrink the database
  --Rebuild the index
 DBCC REINDEX
 DBCC INDEXDEFRAG
  --Shrink Data and logs
 DBCC SHRINKDB
 DBCC SHRINKFILE
 3. Compress database
 dbcc shrinkdatabase(dbname)
 4. Transfer database to new users with existing user rights
 exec sp_change_users_login 'update_one','newname','oldname'
 go
5. Check the backup set
 RESTORE VERIFYONLY from disk='E:dvbbs.bak'
 6. Repair the database
 ALTER DATABASE [dvbbs] SET SINGLE_USER
 GO
 DBCC CHECKDB('dvbbs',repair_allow_data_loss) WITH TABLOCK
 GO
 ALTER DATABASE [dvbbs] SET MULTI_USER
 GO
 7. Log clearing
 SET NOCOUNT ON
 DECLARE @LogicalFileName sysname,
 @MaxMinutes INT,
 @NewSize INT
 USE tablename -- the database name to be operated
 SELECT @LogicalFileName = 'table name_log', -- Log file name
  @MaxMinutes = 10, -- Limit on time allowed to wrap log.
  @NewSize = 1 -- The size of the log file you want to set (M)
  Setup / initialize
  DECLARE @OriginalSize int
SELECT @OriginalSize = size
 FROM sysfiles
 WHERE name = @LogicalFileName
 SELECT 'Original Size of ' + db_name() + ' LOG is ' +
 CONVERT(VARCHAR(30),@OriginalSize) + ' 8K pages or ' +
CONVERT (VARCHAR (30), (@OriginalSize*8/1024)) + 'MB' Starttime DateTime,
@trunClog Varchar (255)
Selects @Starttime = getdate (),
@trunclog = 'backup log' + db_name () + 'with truncate_only'
DBCC Shrinkfile (@LogicalFilename, @newsize)
Exec (@ TruncLog)
   -- Wrap the log if necessary.
  WHILE @MaxMinutes > DATEDIFF (mi, @StartTime, GETDATE()) -- time has not expired
 AND @OriginalSize = (SELECT size FROM sysfiles WHERE name = @LogicalFileName)
 AND (@OriginalSize * 8 /1024) > @NewSize
 BEGIN -- Outer loop.
 SELECT @Counter = 0
 WHILE ((@Counter 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 pages or ' +
  CONVERT(VARCHAR(30),(size*8/1024)) + 'MB'
  FROM sysfiles WHERE name = @LogicalFileName
  DROP TABLE Dummytransy SET NOCOUNT OFF
8. Explanation: Change a table
Exec SP_CHANGEOBJECTOWNER 'TABLENAME', 'Dbo'
9. Storage and change all tables
ERBATCHo @Oldowner as nvarchar (128),
@newowner as NVARCHAR(128)
 AS
 DECLARE @Name as NVARCHAR(128)
 DECLARE @Owner as NVARCHAR(128)
 DECLARE @OwnerName as NVARCHAR(128)
 DECLARE curObject CURSOR 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
 END
 close curObject
 deallocate curObject
 GO
 10. Write data directly in a loop in SQL SERVER
 declare @i int
 set @i=1
 while @i begin
 insert into test (userid) values( @i) set @i=@i+1
end
 Case:
 There is a table below, which requires that all the unfailing grades be corrected, and on the basis of an increase of 0.1 each time, they will just pass: 9
 while ((select min(score) from tb_table) begin
 update tb_table set score =score*1.01
 where score if (select min(score) from tb_table)>60
 break
 else
 continue
  End

The above is the content of the MYSQL Classic Statement - Techniques. For more related content, please pay attention to the PHP Chinese website (www.php.cn)!


Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Adding Users to MySQL: The Complete TutorialAdding Users to MySQL: The Complete TutorialMay 12, 2025 am 12:14 AM

Mastering the method of adding MySQL users is crucial for database administrators and developers because it ensures the security and access control of the database. 1) Create a new user using the CREATEUSER command, 2) Assign permissions through the GRANT command, 3) Use FLUSHPRIVILEGES to ensure permissions take effect, 4) Regularly audit and clean user accounts to maintain performance and security.

Mastering MySQL String Data Types: VARCHAR vs. TEXT vs. CHARMastering MySQL String Data Types: VARCHAR vs. TEXT vs. CHARMay 12, 2025 am 12:12 AM

ChooseCHARforfixed-lengthdata,VARCHARforvariable-lengthdata,andTEXTforlargetextfields.1)CHARisefficientforconsistent-lengthdatalikecodes.2)VARCHARsuitsvariable-lengthdatalikenames,balancingflexibilityandperformance.3)TEXTisidealforlargetextslikeartic

MySQL: String Data Types and Indexing: Best PracticesMySQL: String Data Types and Indexing: Best PracticesMay 12, 2025 am 12:11 AM

Best practices for handling string data types and indexes in MySQL include: 1) Selecting the appropriate string type, such as CHAR for fixed length, VARCHAR for variable length, and TEXT for large text; 2) Be cautious in indexing, avoid over-indexing, and create indexes for common queries; 3) Use prefix indexes and full-text indexes to optimize long string searches; 4) Regularly monitor and optimize indexes to keep indexes small and efficient. Through these methods, we can balance read and write performance and improve database efficiency.

MySQL: How to Add a User RemotelyMySQL: How to Add a User RemotelyMay 12, 2025 am 12:10 AM

ToaddauserremotelytoMySQL,followthesesteps:1)ConnecttoMySQLasroot,2)Createanewuserwithremoteaccess,3)Grantnecessaryprivileges,and4)Flushprivileges.BecautiousofsecurityrisksbylimitingprivilegesandaccesstospecificIPs,ensuringstrongpasswords,andmonitori

The Ultimate Guide to MySQL String Data Types: Efficient Data StorageThe Ultimate Guide to MySQL String Data Types: Efficient Data StorageMay 12, 2025 am 12:05 AM

TostorestringsefficientlyinMySQL,choosetherightdatatypebasedonyourneeds:1)UseCHARforfixed-lengthstringslikecountrycodes.2)UseVARCHARforvariable-lengthstringslikenames.3)UseTEXTforlong-formtextcontent.4)UseBLOBforbinarydatalikeimages.Considerstorageov

MySQL BLOB vs. TEXT: Choosing the Right Data Type for Large ObjectsMySQL BLOB vs. TEXT: Choosing the Right Data Type for Large ObjectsMay 11, 2025 am 12:13 AM

When selecting MySQL's BLOB and TEXT data types, BLOB is suitable for storing binary data, and TEXT is suitable for storing text data. 1) BLOB is suitable for binary data such as pictures and audio, 2) TEXT is suitable for text data such as articles and comments. When choosing, data properties and performance optimization must be considered.

MySQL: Should I use root user for my product?MySQL: Should I use root user for my product?May 11, 2025 am 12:11 AM

No,youshouldnotusetherootuserinMySQLforyourproduct.Instead,createspecificuserswithlimitedprivilegestoenhancesecurityandperformance:1)Createanewuserwithastrongpassword,2)Grantonlynecessarypermissionstothisuser,3)Regularlyreviewandupdateuserpermissions

MySQL String Data Types Explained: Choosing the Right Type for Your DataMySQL String Data Types Explained: Choosing the Right Type for Your DataMay 11, 2025 am 12:10 AM

MySQLstringdatatypesshouldbechosenbasedondatacharacteristicsandusecases:1)UseCHARforfixed-lengthstringslikecountrycodes.2)UseVARCHARforvariable-lengthstringslikenames.3)UseBINARYorVARBINARYforbinarydatalikecryptographickeys.4)UseBLOBorTEXTforlargeuns

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools