我 常用 的 一些 SQLServer中 操作 表,字段和 索引 的SQL 语句 ,Post到这里,留作备忘录。 LastUpdate: 2012-12-31 -- 创建表,带主键CREATE TABLE 新表名( [fID] [int] IDENTITY(1,1) NOT NULL, [fa] [int] NULL, [fb] [smallint] NULL, [fc] [tinyint] N
我常用的一些SQLServer中操作表,字段和索引的SQL语句,Post到这里,留作备忘录。
LastUpdate: 2012-12-31
-- 创建表,带主键 CREATE TABLE 新表名( [fID] [int] IDENTITY(1,1) NOT NULL, [fa] [int] NULL, [fb] [smallint] NULL, [fc] [tinyint] NULL, [fd] [varchar] (60) NULL, [fe] [nvarchar] (60) NULL, [ff] [varbinary] (60) NULL, CONSTRAINT 主键名 PRIMARY KEY CLUSTERED ( [fID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] -- 删除表 drop table 表名 -- 字段改名 exec sp_rename '表名.旧字段名', '新字段名', 'Column' -- 修改字段类型 alter table 表名 alter column 字段名 int not null alter table 表名 alter column 字段名 varchar(60) -- 添加字段 -- 63 63 72 75 6E 2E 63 6F 6D alter table 表名 add 字段名 int IDENTITY(1,1) -- 添加自增字段 alter table 表名 add 字段名 nvarchar(60) alter table 表名 add 字段名 smallint -- 删除字段 alter table 表名 drop column 字段名 -- 添加主键 alter table 表名 add constraint 主键名 primary key(字段名) alter table 表名 add constraint 主键名 primary key(字段1,字段2,字段3) -- 设置主键不能为空 alter table 表名 alter column 主键名 not null -- 删除主键 alter table 表名 drop 主键名 -- 创建<strong>索引</strong> create index <strong>索引</strong>名 on 表名(字段名) create index <strong>索引</strong>名 on 表名(字段1,字段2,字段3) -- 删除<strong>索引</strong> drop index <strong>索引</strong>名 on 表名 -- 随机筛选记录 select 字段1,字段2 from 表名 where 条件 order by newid() -- 查看SQLServer中各表占用大小情况 exec sp_MSforeachtable "exec sp_spaceused '?'" -- 重建<strong>索引</strong> dbcc dbreindex('表名') dbcc dbreindex('表名', '<strong>索引</strong>名') dbcc dbreindex('表名', '<strong>索引</strong>名', 90) -- 查某一列(或多列)的重复值(只能查出重复记录的值,不能整个记录的信息) -- 如: 查找 字段1,字段2 重复的记录 select 字段1,字段2 from 表名 group by 字段1,字段2 having(count(*))>1 -- 查某一列有重复值的记录(这种方法查出的是所有重复的记录,也就是说如果有两条记录重复的,就查出两条) -- 如: 查找 字段1 重复的记录 select * from 表名 where 字段1 in (select 字段1 from 表名 group by 字段1 having(count(*))>1) -- 查某一列有重复值的记录(只显示多余的记录,也就是说如果有三条记录重复的,就显示两条) -- 这种方成绩的前提是:需有一个不重复的列,本例中的是字段2,以下是查找 字段1 重复的记录 select * from 表名 t1 where 字段2 not in (select max(字段2) from 表名 t2 where t1.字段1=t2.字段1) -- 用随机值填充某字段 (60以内的数字) update 表名 set 字段 = cast(ceiling(rand(checksum(newid())) * 60) as int) -- 增加约束 alter table 表名 add constraint [DF_表名_字段名] default ('默认值') FOR [字段名] -- ((0)) -- 删除约束 alter table 表名 drop constraint 约束名 -- 查询约束名 select c.name from sysconstraints a inner join syscolumns b on a.colid=b.colid inner join sysobjects c on a.constid=c.id where a.id=object_id('表名') and b.name='字段名'

MySQLdiffersfromotherSQLdialectsinsyntaxforLIMIT,auto-increment,stringcomparison,subqueries,andperformanceanalysis.1)MySQLusesLIMIT,whileSQLServerusesTOPandOracleusesROWNUM.2)MySQL'sAUTO_INCREMENTcontrastswithPostgreSQL'sSERIALandOracle'ssequenceandt

MySQLパーティション化により、パフォーマンスが向上し、メンテナンスが簡素化されます。 1)大きなテーブルを特定の基準(日付範囲など)、2)物理的に独立したファイルに物理的に分割する、3)MySQLはクエリするときに関連するパーティションに焦点を合わせることができます。

mysqlで許可を許可および取り消す方法は? 1。grantallprivilegesondatabase_name.to'username'@'host 'などの許可を付与するために付与ステートメントを使用してください。 2。Revokeallprivilegesondatabase_name.from'username'@'host 'など、Revoke Statementを使用して、許可のタイムリーな通信を確保します。

INNODBは、トランザクションサポートと高い並行性を必要とするアプリケーションに適していますが、Myisamはより多くの読み取りとより少ない書き込みを必要とするアプリケーションに適しています。 1.INNODBは、eコマースおよび銀行システムに適したトランザクションおよび銀行レベルのロックをサポートしています。 2. Myisamは、ブログやコンテンツ管理システムに適した、迅速な読み取りとインデックス作成を提供します。

MySQLには4つのメイン結合タイプがあります:innerjoin、leftjoin、rightjoin、fullouterjoin。 1.InnerJoinは、結合条件を満たす2つのテーブルのすべての行を返します。 2.右のテーブルに一致する行がない場合でも、Leftjoinは左のテーブルのすべての行を返します。 3。右joinはleftjoinに反しており、右のテーブルのすべての行を返します。 4.fullouterjoinは、結合条件を満たしている、または満たさない2つのテーブルのすべての行を返します。

mysqloffersvariousstorageEngines、それぞれのfordifferentusecases:1)Innodbisidealforapplicationsingingidcomplianceanceandhighconcurrency、support transactions andforeignkeys.2)myisamisbestforread-havyworkloads、transactionsupptort.3)

MySQLの一般的なセキュリティの脆弱性には、SQLインジェクション、弱いパスワード、不適切な許可構成、および非合事ソフトウェアが含まれます。 1。SQL注射は、前処理ステートメントを使用することで防ぐことができます。 2。強力なパスワード戦略を強制的に使用することにより、弱いパスワードを回避できます。 3.不適切な許可構成は、ユーザー許可の定期的なレビューと調整を通じて解決できます。 4.未使用のソフトウェアは、MySQLバージョンを定期的にチェックして更新することでパッチを適用できます。

MySQLの遅いクエリを識別することは、遅いクエリログを有効にし、しきい値を設定することで実現できます。 1.スロークエリログを有効にし、しきい値を設定します。 2.スロークエリログファイルを表示および分析し、詳細な分析のためにMySQLDumpSlowやPT-Query-Digestなどのツールを使用します。 3.インデックスの最適化、クエリの書き換え、およびselect*の使用を回避することで、遅いクエリの最適化を実現できます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

SublimeText3 中国語版
中国語版、とても使いやすい

ホットトピック









