MYSQL 클래식 문 전체 모음 - 개발
1. 성의 획순으로 정렬:
선택 * From TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as //최소부터 최대까지
2. 데이터베이스 암호화:
암호화('원래 비밀번호') 선택
pwdencrypt('원래 비밀번호')
select pwdcompare('원래 비밀번호','암호화된 비밀번호') = 1-그렇지 않으면 동일하지 않음 encrypt('원래 비밀번호')
select pwdencrypt( '원래 비밀번호'')
pwdcompare('원래 비밀번호', '암호화된 비밀번호') = 1을 선택하세요. 그렇지 않으면 동일하지 않습니다.
3. 테이블에서 필드를 검색합니다.
선언 @ list varchar(1000),
@sql nvarchar(1000)
select @list=@list+','+b.name from sysobjects a,syscolumns b 여기서 a.id=b.id 및 a.name= 'Table A'
Set @sql='select '+right(@list,len(@list)-1)+' from table A'
exec(@sql)
4. partition:
EXEC master ..xp_fixeddrives
5. 테이블 A와 B가 같은지 비교합니다.
if (select checksum_agg(binary_checksum(*)) from A)=(select checksum_agg(binary_checksum(*)) from B)
'같음' 인쇄
else
'같지 않음' 인쇄
6. 모든 프로파일러 프로세스를 종료합니다.
DECLARE hcforeach CURSOR GLOBAL FOR SELECT 'kill '+RTRIM(spid) FROM master .dbo.sysprocesses WHERE program_name IN('SQL profiler',N'SQL Profiler')
EXEC sp_msforeach_worker '?'
7. 레코드 검색:
N개 레코드부터 시작
Top N * From 테이블
------------------
N~M 레코드(기본 인덱스 ID가 있어야 함)
상위 M-N 선택 * 테이블에서 Where ID in (테이블에서 상위 M ID 선택) ID 설명별로 정렬
------------ -- ---------
N to end 레코드
Select Top N * From table Order by ID Desc
Case
예 1: 테이블에 10,000개 이상의 레코드가 있고, 첫 번째 테이블의 필드 RecID는 자체 증가 필드입니다. 테이블의 31번째부터 40번째 레코드를 찾는 SQL 문을 작성하세요.
Recid가 없는 A에서 상위 10개 recid 선택(A에서 상위 30개 recid 선택)
분석: 이렇게 작성하면, recid가 테이블에 논리적 인덱스를 가지고 있는 경우 몇 가지 문제가 발생합니다.
Select top 10 recid from A where... 가 인덱스에서 검색되는 반면, 후속 Select top 30 recid from A는 데이터 테이블에서 검색되므로 인덱스의 순서가 데이터 테이블의 순서와 일치하지 않을 수 있습니다. , 결과적으로 쿼리된 데이터는 원래 원하는 데이터가 아닙니다.
솔루션
1. A order by ricid에서 상위 30개 recid를 선택하여 order를 사용합니다. 필드가 자동으로 증가하지 않으면 문제가 발생합니다.
2. 또한 해당 하위 쿼리에 조건을 추가합니다. from A where recid>-1
예 2: 테이블의 마지막 레코드를 쿼리합니다. 테이블과 테이블 구조에 얼마나 많은 데이터가 있는지 모르겠습니다.
Set @s = 'select top 1 * from T where pid in in (select top ' + str(@count-1) + ' pid from T)'
print @s exec sp_executesql @s
9: 현재 데이터베이스의 모든 사용자 테이블 가져오기
xtype='u' 및 status>=0인 sysobjects에서 이름 선택
10: 특정 테이블의 모든 필드 가져오기
id=인 syscolumns에서 이름 선택 object_id('테이블 이름')
id가 있는 syscolumns에서 이름 선택(유형 = 'u' 및 이름 = '테이블 이름'인 sysobjects에서 id 선택)
두 가지 방법은 동일한 효과를 갖습니다
11 : 테이블과 관련된 뷰, 저장 프로시저 및 함수를 봅니다.
sysobjects a, syscomments b에서 a.*를 선택합니다. 여기서 a.id = b.id 및 b.text like '%table name%'
12: 현재 데이터베이스의 모든 저장 프로시저 보기
select name as 저장 프로시저 이름 from sysobjects where xtype='P'
13: 사용자가 만든 모든 데이터베이스 쿼리
select * from master..sysdatabases D where sid not in(master..syslogins에서 sid 선택(name='sa')) 또는 dbid를 선택하고 master..sysdatabases에서 AS DB_NAME으로 이름을 지정합니다. 여기서 sid <> 0x01
14: 특정 데이터베이스의 필드 및 데이터 유형을 쿼리합니다. table
information_schema.columns에서 column_name,data_type 선택 table_name = '테이블 이름'
15: 서로 다른 서버 데이터베이스 간의 데이터 작업
-- 연결된 서버 만들기
exec sp_addlinkedserver 'ITSV ', ' ' , ' SQLOLEDB ', '원격 서버 이름 또는 IP 주소'
exec sp_addlinkedsrvlogin 'ITSV ', 'false',null, 'username', 'password'
--쿼리 예
ITSV에서 *를 선택합니다. 데이터베이스 이름.dbo.테이블 이름
--예제 가져오기
ITSV에서 테이블로 *를 선택합니다.데이터베이스 이름.dbo.테이블 이름
--나중에 더 이상 사용하지 않을 때 연결된 서버를 삭제합니다
exec sp_dropserver 'ITSV', 'droplogins'
--원격/LAN 데이터 연결(openrowset/openquery/opendatasource)
--1.openrowset
--쿼리 예
select * from openrowset( 'SQLOLEDB', 'sql server name'; '사용자 이름 '; '비밀번호', 데이터베이스 이름. 테이블 이름)
-- 로컬 테이블 생성
openrowset( 'SQLOLEDB', 'sql 서버 이름'; '사용자 이름'; '비밀번호'에서 테이블로 선택 , 데이터베이스 이름.dbo. 테이블 이름)
-- 로컬 테이블을 원격 테이블로 가져옵니다.
insert openrowset( 'SQLOLEDB', 'sql server name'; 'user name'; 'password', 데이터베이스 이름. dbo.테이블 이름)
Select *from local table
--Update local table
update b set b. Column A from openrowset( 'SQLOLEDB', 'sql server name'; 사용자 이름 '; '비밀번호', 데이터베이스 이름.dbo.table 이름)을 a.column1=b.column1의 내부 조인 로컬 테이블로 사용
--Openquery 사용 시 연결을 생성해야 함
--첫 번째 생성 연결된 서버를 생성하기 위한 연결
exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '원격 서버 이름 또는 IP 주소'
--Query
select * FROM openquery(ITSV, 'SELECT * FROM Database.dbo.테이블 이름')
--로컬 테이블을 원격 테이블로 가져오기
insert openquery(ITSV, 'SELECT * FROM Database.dbo.Table name')
select * from local table
--로컬 테이블 업데이트
b 세트 b. 열 B=a. 열 B
FROM openquery(ITSV, 'SELECT * FROM Database.dbo.tablename')를 a의 내부 조인 로컬 테이블로 설정합니다. .열 A=b .열 A
--3. opendatasource/openrowset
SELECT * FROM opendatasource( 'SQLOLEDB ', '데이터 소스=ip/ServerName;사용자 ID=로그인 이름;비밀번호=비밀번호' ). test.dbo.roy_ta
--로컬 테이블을 원격 테이블로 가져옵니다
opendatasource( 'SQLOLEDB', 'Data Source=ip/ServerName;User ID=Login name;Password=Password').Database를 삽입합니다. dbo.Table name
select * from local table
위 내용은 MYSQL 클래식 구문 - 개발 장의 내용입니다. PHP 중국어 홈페이지(www.php.cn)!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











MySQL은 설치가 간단하고 강력하며 데이터를 쉽게 관리하기 쉽기 때문에 초보자에게 적합합니다. 1. 다양한 운영 체제에 적합한 간단한 설치 및 구성. 2. 데이터베이스 및 테이블 작성, 삽입, 쿼리, 업데이트 및 삭제와 같은 기본 작업을 지원합니다. 3. 조인 작업 및 하위 쿼리와 같은 고급 기능을 제공합니다. 4. 인덱싱, 쿼리 최적화 및 테이블 파티셔닝을 통해 성능을 향상시킬 수 있습니다. 5. 데이터 보안 및 일관성을 보장하기위한 지원 백업, 복구 및 보안 조치.

MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 1) 데이터베이스 및 테이블 작성 : CreateAbase 및 CreateTable 명령을 사용하십시오. 2) 기본 작업 : 삽입, 업데이트, 삭제 및 선택. 3) 고급 운영 : 가입, 하위 쿼리 및 거래 처리. 4) 디버깅 기술 : 확인, 데이터 유형 및 권한을 확인하십시오. 5) 최적화 제안 : 인덱스 사용, 선택을 피하고 거래를 사용하십시오.

다음 단계를 통해 phpmyadmin을 열 수 있습니다. 1. 웹 사이트 제어판에 로그인; 2. phpmyadmin 아이콘을 찾고 클릭하십시오. 3. MySQL 자격 증명을 입력하십시오. 4. "로그인"을 클릭하십시오.

Navicat Premium을 사용하여 데이터베이스 생성 : 데이터베이스 서버에 연결하고 연결 매개 변수를 입력하십시오. 서버를 마우스 오른쪽 버튼으로 클릭하고 데이터베이스 생성을 선택하십시오. 새 데이터베이스의 이름과 지정된 문자 세트 및 Collation의 이름을 입력하십시오. 새 데이터베이스에 연결하고 객체 브라우저에서 테이블을 만듭니다. 테이블을 마우스 오른쪽 버튼으로 클릭하고 데이터 삽입을 선택하여 데이터를 삽입하십시오.

MySQL 및 SQL은 개발자에게 필수적인 기술입니다. 1.MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템이며 SQL은 데이터베이스를 관리하고 작동하는 데 사용되는 표준 언어입니다. 2.MYSQL은 효율적인 데이터 저장 및 검색 기능을 통해 여러 스토리지 엔진을 지원하며 SQL은 간단한 문을 통해 복잡한 데이터 작업을 완료합니다. 3. 사용의 예에는 기본 쿼리 및 조건 별 필터링 및 정렬과 같은 고급 쿼리가 포함됩니다. 4. 일반적인 오류에는 구문 오류 및 성능 문제가 포함되며 SQL 문을 확인하고 설명 명령을 사용하여 최적화 할 수 있습니다. 5. 성능 최적화 기술에는 인덱스 사용, 전체 테이블 스캔 피하기, 조인 작업 최적화 및 코드 가독성 향상이 포함됩니다.

응용 프로그램을 열고 새로운 연결 (Ctrl n)을 선택하여 Navicat에서 새로운 MySQL 연결을 만들 수 있습니다. "MySQL"을 연결 유형으로 선택하십시오. 호스트 이름/IP 주소, 포트, 사용자 이름 및 비밀번호를 입력하십시오. (선택 사항) 고급 옵션을 구성합니다. 연결을 저장하고 연결 이름을 입력하십시오.

백업 또는 트랜잭션 롤백 메커니즘이없는 한 데이터베이스에서 직접 삭제 된 행 복구는 일반적으로 불가능합니다. 키 포인트 : 거래 롤백 : 트랜잭션이 데이터를 복구하기 전에 롤백을 실행합니다. 백업 : 데이터베이스의 일반 백업을 사용하여 데이터를 신속하게 복원 할 수 있습니다. 데이터베이스 스냅 샷 : 데이터베이스의 읽기 전용 사본을 작성하고 데이터를 실수로 삭제 한 후 데이터를 복원 할 수 있습니다. 주의해서 삭제 명령문을 사용하십시오. 실수로 데이터를 삭제하지 않도록 조건을주의 깊게 점검하십시오. WHERE 절을 사용하십시오 : 삭제할 데이터를 명시 적으로 지정하십시오. 테스트 환경 사용 : 삭제 작업을 수행하기 전에 테스트하십시오.

Redis는 단일 스레드 아키텍처를 사용하여 고성능, 단순성 및 일관성을 제공합니다. 동시성을 향상시키기 위해 I/O 멀티플렉싱, 이벤트 루프, 비 블로킹 I/O 및 공유 메모리를 사용하지만 동시성 제한 제한, 단일 고장 지점 및 쓰기 집약적 인 워크로드에 부적합한 제한이 있습니다.
