MySQL은 작은 크기와 효율적인 운영으로 인해 데이터베이스 애플리케이션에서 점점 더 많이 사용되고 있습니다. LAMP(또는 WAMP) 개발의 중요한 부분인 MySQL은 PHP 개발자의 관심과 신중한 연구를 받을 가치가 있습니다.
1. 각 명령 줄은 세미콜론(;)으로 끝납니다.
MySQL의 경우 가장 먼저 기억해야 할 것은 각 줄의 해당 명령은 세미콜론(;)으로 끝나지만 MySQL의 줄이 PHP 코드에 삽입될 때는 다음 세미콜론을 생략하는 것이 가장 좋습니다. 예:
mysql_query ("INSERT INTO tablename (first_name, last_name) VALUES ('$first_name', $last_name')");
이것은 PHP도 줄을 끝내기 때문입니다. 세미콜론을 사용하면 추가 세미콜론이 PHP 파서를 혼동하는 경우가 있으므로 생략하는 것이 좋습니다. 이 경우 세미콜론이 생략되었더라도 MySQL 명령을 실행할 때 PHP가 자동으로 이를 추가합니다.
2. 연관 배열을 사용하여 쿼리 결과에 액세스
다음 예를 살펴보세요.
$connection = mysql_connect("localhost", "albert", "shhh"); mysql_select_db("winestore", $connection); $result = mysql_query("SELECT cust_id, surname, firstname FROM customer", $connection); while ($row = mysql_fetch_array($result)) { echo "ID:t{$row["cust_id"]}n"; echo "Surnamet{$row["surname"]}n"; echo "First name:t{$row["firstname"]}nn"; }
mysql_fetch_array() 함수는 쿼리 결과 행을 배열에 넣습니다. 두 개를 동시에 사용할 수 있습니다. 예를 들어 cust_id는 $row["cust_id"] 또는 $row[0]라는 두 가지 방법으로 동시에 참조될 수 있습니다. 분명히 전자가 후자보다 훨씬 더 읽기 쉽습니다.
다중 테이블 쿼리에서 두 개의 열 이름이 동일한 경우 별칭으로 구분하는 것이 가장 좋습니다.
SELECT winery.name AS wname, region.name AS rname, FROM winery, region WHERE winery.region_id = region.region_id; 列名的引用为:$row["wname"] 和 $row["rname"]
테이블 이름을 지정할 때 열 이름 아래에서는 열 이름만 인용하세요:
SELECT winery.region_id FROM winery 列名的引用为: $row["region_id"]
집계 함수의 참조는 참조 이름입니다:
SELECT count(*) FROM customer; 列名的引用为: $row["count(*)"]
3. 및 SET 데이터 유형
MySQL 데이터 테이블의 필드에는 데이터 유형이 정의되어 있어야 합니다. 약 25개의 옵션이 있으며 대부분은 간단하며 추가 설명이 필요하지 않습니다. 그러나 언급해야 할 몇 가지 사항이 있습니다.
TEXT는 데이터 유형이 아니지만 일부 책에서는 그렇게 말할 수 있습니다. 실제로는 "LONG VARCHAR" 또는 "MEDIUMTEXT"여야 합니다.
DATE 데이터 유형의 형식은 YYYY-MM-DD입니다(예: 1999-12-08). 날짜 함수를 사용하면 다음 형식으로 현재 시스템 시간을 쉽게 얻을 수 있습니다. date("Y-m-d") 또한 DATA 데이터 유형 간을 빼서 일 단위의 시간 차이를 구할 수 있습니다.
$age = ($current_date - $birthdate);
set SET SET은 여러 값을 저장할 수 있고 ENUM은 하나의 값만 저장할 수 있다는 점을 제외하면 열거형 ENUM과 다소 유사한 유용한 데이터 유형입니다. 또한 SET 유형은 최대 64개의 미리 정의된 값만 가질 수 있는 반면 ENUM 유형은 최대 65,535개의 미리 정의된 값을 처리할 수 있습니다. 64개가 넘는 값을 가진 컬렉션이 필요한 경우 어떻게 해야 할까요? 이때 이 문제를 함께 해결하려면 여러 컬렉션을 정의해야 합니다.
4. mysql_unbuffered_query()를 사용하여 빠른 스크립트 개발
이 함수는 mysql_query() 함수를 대체하는 데 사용할 수 있습니다. 주요 차이점은 mysql_unbuffered_query()가 쿼리 실행 후 즉시 반환된다는 것입니다. 기다리지 않고 데이터베이스를 잠급니다. 그러나 출력 결과 세트의 크기를 알 수 없으므로 mysql_num_rows() 함수를 사용하여 반환된 행 수를 확인할 수 없습니다.
5. 와일드카드 문자
SQL에는 "*"와 "%"라는 두 가지 종류의 와일드카드 문자가 있습니다. 다양한 상황에서 사용됩니다. 예: 데이터베이스의 모든 내용을 보려면 다음과 같이 쿼리할 수 있습니다.
SELECT * FROM dbname WHERE USER_ID LIKE '%';
여기에서는 두 와일드카드가 모두 사용됩니다. 둘 다 어떤 문자열과도 일치한다는 점에서 같은 의미이지만 서로 다른 상황에서 사용됩니다. " * "는 필드 이름을 일치시키는 데 사용되고 " % "는 필드 값을 일치시키는 데 사용됩니다. 또 한 가지 알아차리기 쉽지 않은 점은 "%" 와일드카드 문자를 LIKE 키워드와 함께 사용해야 한다는 점입니다. 밑줄 "_"인 와일드카드 문자도 있는데, 이는 위와 의미가 다르며 단일 문자와 일치하는 데 사용됩니다.
6. NULL이 아니고 빈 레코드
사용자가 아무것도 작성하지 않고 제출 버튼을 누르면 어떻게 되나요? 값이 정말로 필요한 경우 데이터 유효성 검사를 위해 클라이언트 측 스크립팅 또는 서버 측 스크립팅을 사용할 수 있습니다. 그러나 데이터베이스에서 일부 필드는 공백으로 남겨두고 아무것도 채울 수 있습니다. 그러한 레코드에 대해 MySQL은 이를 위해 뭔가를 할 것입니다: 기본 작업인 NULL 값을 삽입합니다.
필드 정의에서 NOT NULL을 선언하면(이 필드를 생성하거나 수정할 때) MySQL은 이 필드를 비워 두고 아무것도 채우지 않습니다. ENUM 열거 유형의 필드에 대해 NOT NULL을 선언하면 MySQL은 열거 세트의 첫 번째 값을 필드에 삽입합니다. 즉, MySQL은 열거형 세트의 첫 번째 값을 이 열거형 유형의 기본값으로 사용합니다.
NULL 값을 갖는 레코드와 빈 레코드에는 몇 가지 차이점이 있습니다. % 와일드카드 문자는 빈 레코드와 일치할 수 있지만 NULL 레코드와 일치할 수는 없습니다. 어떤 시점에서는 이러한 구별이 의도하지 않은 결과를 초래할 수 있습니다. 내 경험에 따르면 모든 필드는 NOT NULL 로 선언되어야 합니다. 이러한 방식으로 많은 SELECT 쿼리 문이 정상적으로 실행될 수 있습니다. NULL을 검색할 때는 "IS" 키워드를 사용해야 하며, LIKE는 제대로 작동하지 않는다는 점에 유의하세요. 마지막으로 언급할 점은 새 필드를 추가하거나 수정하기 전에 이미 데이터베이스에 일부 레코드가 있는 경우 원본 레코드에 새로 추가된 필드의 값이 NULL 또는 Null일 수 있다는 것입니다. 이는 MySQL의 버그로 볼 수 있으므로 이 경우 SELECT 쿼리 사용 시 특히 주의가 필요하다.

mysqlviewshavelimitations : 1) 그들은 upportallsqloperations, datamanipulation throughviewswithjoinsorbqueries를 제한하지 않습니다

적절한 usermanagementInmysqliscrucialforenhancingsecurityandensuringfefficientDatabaseOperation.1) USECREATEUSERTOWDDUSERS,@'localHost'or@'%'.

mysqldoes notimposeahardlimitontriggers, butpracticalfactorsdeteirefectiveuse : 1) ServerConfigurationimpactStriggerManagement; 2) 복잡한 트리거 스케일 스케일 사이드로드; 3) argertableSlowtriggerTriggerPerformance; 4) High ConconcercencyCancaUspriggerContention; 5) m

예, It 'safetostoreBlobdatainmysql, butconsidertheStefactors : 1) StoragesPace : BlobScanconSumeSignificantspace, 잠재적으로 증가하는 CostsandSlownperformance

PHP 웹 인터페이스를 통해 MySQL 사용자를 추가하면 MySQLI 확장 기능을 사용할 수 있습니다. 단계는 다음과 같습니다. 1. MySQL 데이터베이스에 연결하고 MySQLI 확장자를 사용하십시오. 2. 사용자를 생성하고 CreateUser 문을 사용하고 Password () 함수를 사용하여 암호를 암호화하십시오. 3. SQL 주입 방지 및 MySQLI_REAL_ESCAPE_STRING () 함수를 사용하여 사용자 입력을 처리하십시오. 4. 새 사용자에게 권한을 할당하고 보조금 명세서를 사용하십시오.

mysql'sblobissuilableforstoringbinarydatawithinareldatabase, whilenosqloptionslikemongodb, redis, and cassandraofferflexible, scalablesolutionsforunstuctureddata.blobissimplerbutcanslowwownperformance를 사용하는 것들보업 betterscal randaysand

TOADDAUSERINMYSQL, 사용 : CreateUser'UserName '@'host'IdentifiedBy'Password '; 여기서'showTodoitseciRely : 1) ChoosetheHostCareLyTocon trolaccess.2) setResourcelimitswithOptionslikemax_queries_per_hour.3) Usestrong, iriquepasswords.4) enforcessl/tlsconnectionswith

toavoidcommonmistakeswithstringdatatypesinmysql, stroundStringTypenuances, chooseTherightType, andManageEncodingAndCollationSettingSefectively.1) usecharforfixed-lengthstrings, varcharvariable-length, andtext/blobforlargerdata.2) setcarcatter


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

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

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

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는