PHP와 MySQL에 대한 기본 튜토리얼(4)
이 기사의 내용은 PHP 및 MySQL(IV)의 기본 튜토리얼에 관한 것입니다. 필요한 친구들이 참고할 수 있기를 바랍니다.
MySQL의 SQL
MySQL의 경우 가장 먼저 기억해야 할 것은 각 명령 줄 앞에 세미콜론(;)이 붙는다는 점입니다. , 하지만... 절대적으로 절대적인 것은 없으며 여기서도 마찬가지입니다.
세미콜론을 추가하지 않아도 되는 상황도 있습니다. 일반적인 가로 배열 대신 원하는 필드의 세로 배열을 표시하려면 G를 사용하여 SQL 문 줄을 끝내면 됩니다. 예를 들면 다음과 같습니다.
mysql_query ("INSERT INTO tablename (first_name, last_name) VALUES ('$first_name', '$last_name') ");
SELECT * FROM PENPALS WHERE USER_ID = 1G
TEXT는 데이터 유형이 아니지만 일부 책에서는 그렇게 말할 수 있습니다. 실제로는 "LONG VARCHAR" 또는 "MEDIUMTEXT"여야 합니다. DATE 데이터 유형의 형식은 YYYY-MM-DD입니다(예: 1999-12-08). 날짜 기능을 사용하면 다음 형식으로 현재 시스템 시간을 쉽게 얻을 수 있습니다.
또한 DATA 데이터 유형 간을 빼서 일 단위의 시간 차이를 구할 수 있습니다. 세트 SET는 유용한 데이터 유형입니다. SET은 여러 값을 저장할 수 있고 ENUM은 하나의 값만 저장할 수 있다는 점을 제외하면 열거형 ENUM과 다소 유사합니다. 또한 SET 유형은 최대 64개의 미리 정의된 값만 가질 수 있는 반면 ENUM 유형은 최대 65,535개의 미리 정의된 값을 처리할 수 있습니다. 그리고 64개가 넘는 값을 가진 컬렉션이 필요하다면 어떻게 될까요? 이때 이 문제를 함께 해결하려면 여러 컬렉션을 정의해야 합니다.date("Y-m-d")
와일드카드
$age = ($current_date - $birthdate);
SQL에는 "*"와 "%"라는 두 가지 유형의 와일드카드 문자가 있습니다. 다양한 상황에서 사용됩니다. 예를 들어 데이터베이스의 모든 내용을 보려면 다음과 같이 쿼리할 수 있습니다.
여기서는 두 와일드카드가 모두 사용됩니다. 둘 다 어떤 문자열과도 일치한다는 점에서 같은 의미이지만 서로 다른 상황에서 사용됩니다. " * "는 필드 이름을 일치시키는 데 사용되고 " % "는 필드 값을 일치시키는 데 사용됩니다. 또 한 가지 알아차리기 쉽지 않은 점은 "%" 와일드카드 문자를 LIKE 키워드와 함께 사용해야 한다는 점입니다.
밑줄 "_"인 와일드카드 문자도 있습니다. 위와는 다른 의미를 가지며 단일 문자와 일치하는 데 사용됩니다.
SELECT * FROM dbname WHERE USER_ID LIKE '%';
사용자가 아무것도 입력하지 않고 제출 버튼을 누르면 어떻게 되나요? 값이 정말로 필요한 경우 앞서 언급한 대로 데이터 유효성 검사를 위해 클라이언트 측 스크립트나 서버 측 스크립트를 사용할 수 있습니다. 그러나 데이터베이스에서 일부 필드는 공백으로 남겨두고 아무것도 채울 수 있습니다. 이러한 레코드에 대해 MySQL은 다음과 같은 몇 가지 작업을 수행합니다.
기본 작업인 NULL 값을 삽입합니다. 필드 정의에서 NOT NULL을 선언하면(이 필드를 생성하거나 수정할 때) MySQL은 이 필드를 비워두고 아무것도 채우지 않습니다.
ENUM 열거 유형 필드의 경우 NOT NULL을 선언하면 MySQL은 열거 세트의 첫 번째 값을 필드에 삽입합니다. 즉, MySQL은 열거형 세트의 첫 번째 값을 이 열거형 유형의 기본값으로 사용합니다. NULL 값을 갖는 레코드와 빈 레코드에는 몇 가지 차이점이 있습니다. % 와일드카드 문자는 빈 레코드와 일치할 수 있지만 NULL 레코드와 일치할 수는 없습니다. 어떤 시점에서는 이러한 구별이 의도하지 않은 결과를 초래할 수 있습니다. 내 경험에 따르면 모든 필드는 NOT NULL 로 선언되어야 합니다. 이러한 방식으로 다음 SELECT 쿼리 문이 정상적으로 실행될 수 있습니다.
첫 번째 줄에서 사용자가 CITY 값을 지정하지 않으면 와일드카드 문자 %가 대체되는 데 사용됩니다. CITY 변수이므로 CITY 필드가 비어 있는 레코드도 검색할 때 모든 CITY 값이 고려됩니다.
그런데 CITY 필드 값이 NULL인 레코드가 있으면 문제가 발생합니다. 위 쿼리에서는 이러한 필드를 찾을 수 없습니다. 문제에 대한 해결 방법은 다음과 같습니다.
if (!$CITY) {$CITY = "%";} $selectresult = mysql_query ("SELECT * FROM dbname WHERE FIRST_NAME = ' 柳 ' AND LAST_NAME = ' 如风 ' AND CITY LIKE '$CITY' ");
NULL을 검색할 때는 "IS" 키워드를 사용해야 하며 LIKE가 제대로 작동하지 않는다는 점에 유의하세요.
마지막으로 언급할 점은 새 필드를 추가하거나 수정하기 전에 이미 데이터베이스에 일부 레코드가 있는 경우 원본 레코드에 새로 추가된 필드의 값이 비어 있을 수도 있다는 것입니다. 이는 MySQL의 버그로 볼 수 있으므로 이 경우 SELECT 쿼리 사용 시 특히 주의가 필요하다.
위 내용은 PHP 및 MySQL 기본 튜토리얼(4) 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!
관련 추천:
mysql 매뉴얼 튜토리얼: http://www.php.cn/course/37.html
mysql 비디오 튜토리얼: http://www.php.cn/course/list/51.html

핫 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 데이터베이스에서 사용자와 데이터베이스 간의 관계는 권한과 테이블로 정의됩니다. 사용자는 데이터베이스에 액세스 할 수있는 사용자 이름과 비밀번호가 있습니다. 권한은 보조금 명령을 통해 부여되며 테이블은 Create Table 명령에 의해 생성됩니다. 사용자와 데이터베이스 간의 관계를 설정하려면 데이터베이스를 작성하고 사용자를 생성 한 다음 권한을 부여해야합니다.

데이터 통합 단순화 : AmazonRdsMysQL 및 Redshift의 Zero ETL 통합 효율적인 데이터 통합은 데이터 중심 구성의 핵심입니다. 전통적인 ETL (추출, 변환,로드) 프로세스는 특히 데이터베이스 (예 : AmazonRDSMySQL)를 데이터웨어 하우스 (예 : Redshift)와 통합 할 때 복잡하고 시간이 많이 걸립니다. 그러나 AWS는 이러한 상황을 완전히 변경 한 Zero ETL 통합 솔루션을 제공하여 RDSMYSQL에서 Redshift로 데이터 마이그레이션을위한 단순화 된 거의 실시간 솔루션을 제공합니다. 이 기사는 RDSMYSQL ZERL ETL 통합으로 Redshift와 함께 작동하여 데이터 엔지니어 및 개발자에게 제공하는 장점과 장점을 설명합니다.

MySQL 사용자 이름 및 비밀번호를 작성하려면 : 1. 사용자 이름과 비밀번호를 결정합니다. 2. 데이터베이스에 연결; 3. 사용자 이름과 비밀번호를 사용하여 쿼리 및 명령을 실행하십시오.

1. 올바른 색인을 사용하여 스캔 한 데이터의 양을 줄임으로써 데이터 검색 속도를 높이십시오. 테이블 열을 여러 번 찾으면 해당 열에 대한 인덱스를 만듭니다. 귀하 또는 귀하의 앱이 기준에 따라 여러 열에서 데이터가 필요한 경우 복합 인덱스 2를 만듭니다. 2. 선택을 피하십시오 * 필요한 열만 선택하면 모든 원치 않는 열을 선택하면 더 많은 서버 메모리를 선택하면 서버가 높은 부하 또는 주파수 시간으로 서버가 속도가 느려지며, 예를 들어 Creation_at 및 Updated_at 및 Timestamps와 같은 열이 포함되어 있지 않기 때문에 쿼리가 필요하지 않기 때문에 테이블은 선택을 피할 수 없습니다.

MySQL 데이터베이스 성능 최적화 안내서 리소스 집약적 응용 프로그램에서 MySQL 데이터베이스는 중요한 역할을 수행하며 대규모 트랜잭션 관리를 담당합니다. 그러나 응용 프로그램 규모가 확장됨에 따라 데이터베이스 성능 병목 현상은 종종 제약이됩니다. 이 기사는 일련의 효과적인 MySQL 성능 최적화 전략을 탐색하여 응용 프로그램이 고 부하에서 효율적이고 반응이 유지되도록합니다. 실제 사례를 결합하여 인덱싱, 쿼리 최적화, 데이터베이스 설계 및 캐싱과 같은 심층적 인 주요 기술을 설명합니다. 1. 데이터베이스 아키텍처 설계 및 최적화 된 데이터베이스 아키텍처는 MySQL 성능 최적화의 초석입니다. 몇 가지 핵심 원칙은 다음과 같습니다. 올바른 데이터 유형을 선택하고 요구 사항을 충족하는 가장 작은 데이터 유형을 선택하면 저장 공간을 절약 할 수있을뿐만 아니라 데이터 처리 속도를 향상시킬 수 있습니다.

데이터베이스 산 속성에 대한 자세한 설명 산 속성은 데이터베이스 트랜잭션의 신뢰성과 일관성을 보장하기위한 일련의 규칙입니다. 데이터베이스 시스템이 트랜잭션을 처리하는 방법을 정의하고 시스템 충돌, 전원 중단 또는 여러 사용자의 동시 액세스가 발생할 경우에도 데이터 무결성 및 정확성을 보장합니다. 산 속성 개요 원자력 : 트랜잭션은 불가분의 단위로 간주됩니다. 모든 부분이 실패하고 전체 트랜잭션이 롤백되며 데이터베이스는 변경 사항을 유지하지 않습니다. 예를 들어, 은행 송금이 한 계정에서 공제되지만 다른 계정으로 인상되지 않은 경우 전체 작업이 취소됩니다. BeginTransaction; updateAccountssetBalance = Balance-100WH

MySQL에서 복사 및 붙여 넣기 단계는 다음 단계가 포함됩니다. 데이터를 선택하고 CTRL C (Windows) 또는 CMD C (MAC)로 복사; 대상 위치를 마우스 오른쪽 버튼으로 클릭하고 페이스트를 선택하거나 Ctrl V (Windows) 또는 CMD V (Mac)를 사용하십시오. 복사 된 데이터는 대상 위치에 삽입되거나 기존 데이터를 교체합니다 (데이터가 이미 대상 위치에 존재하는지 여부에 따라).

다음 명령으로 MySQL 데이터베이스를보십시오. 서버에 연결하십시오. mysql -u username -p password run show database; 기존의 모든 데이터베이스를 가져 오려는 명령 데이터베이스 선택 : 데이터베이스 이름 사용; 보기 테이블 : 테이블 표시; 테이블 구조보기 : 테이블 이름을 설명합니다. 데이터보기 : 테이블 이름에서 *를 선택하십시오.
