이전 글에서 소개한 "PHP에는 스코프의 종류가 무엇인가요? 스코프를 통해 어떤 영역에 접근할 수 있나요? 》에서는 PHP 데이터베이스의 기본 지식 포인트가 무엇인지 계속해서 소개하고 있습니다. 기본 진술? 기본 사상? 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.
기본 데이터베이스 개념
명령 끝 문자: "g" 또는 ";"
Mysql은 데이터 유형을 지원합니다:
숫자 유형
정수 유형
Ti nyint, smallint , Mediumint, int 및 bigint
Ddl 문(명령어는 대/소문자 구분 가능)
데이터베이스 생성
Create database 数据库名
운영할 데이터베이스 선택: 데이터베이스를 운영하려면 사용해야 합니다.
데이터베이스 보기 쇼 테이블의 모든 데이터 테이블
데이터베이스 삭제
Drop database 数据库名称
테이블 생성(데이터베이스에 테이블을 생성하려면 use를 사용하여 작동하려는 데이터베이스를 선택해야 함)
Create table 테이블 이름 (
field 1 Name Field 1 Type Column Constraints,
Field 2 Name Field 2 Type Column Constraints,
테이블 생성 후 폼 정의를 볼 수 있습니다
Desc 表名;
테이블을 생성한 SQL 문을 확인하세요. table
Show create table 表名\G(\G选项使得记录能按照字段竖向排列,一遍更好展示内容较长的记录,\G之后不需要加分号)
테이블 삭제
Drop table 表名;
테이블 필드 유형 수정
Alter table 表名 modify [colimn] 字段定义 [first|after字段名];
테이블 필드 추가
Alter table 表名 add [colimn] 字段定义 [first|after字段名];
테이블 필드 삭제
Alter table 表名 change [colimn] 旧的字段名 字段定义 [first|after字段名];
참고: 변경과 수정 모두 테이블 정의를 수정할 수 있습니다. . 차이점은 이름 변경 후 열을 두 번 해결해야 한다는 점입니다. 변경
으로 필드 이름을 수정할 수 있다는 장점이 있습니다change
可以修改字段名
修改字段排列排序
[first|after字段名]这个选择可以用来修改字段在表中的位置,新增字段默认是加载在表中最后位置,而change/modify
默认不会改变字段位置
注:change/first|after 字段名 这些关键字都是属于mysql在标准sql上的扩展,在其他数据库上不一定适用
更改表名
After table 表名 rename [to] 新的表名 Dml语句
插入记录
Insert into 表名(字段1,字段2, ...,字段n) values(值1,值2,... ,值n);
可以不用指定字段名,但是values
필드 배열 및 정렬을 수정
[ first|after field name] 이 선택은 테이블의 필드 위치를 수정하는 데 사용할 수 있습니다. 새 필드는 기본적으로 테이블의 마지막 위치에 로드되며
참고: 필드 이름 변경/첫 번째|이후 키워드는 mysql에 속합니다. 표준 SQL의 확장은 다른 데이터베이스에 적용되지 않을 수 있습니다.변경/수정
은 변경되지 않습니다. 기본적으로 필드 위치테이블 이름 변경
select * from 表名 where 条件;(*代表你查询表里的所有字段,如果我们查询某一字段,只需要将*改成那一字段即可。)기록 삽입
삽입 테이블 이름(필드 1, 필드 2, ..., 필드 n) 값 (값 1 , 값 2,... , 값 n);
필드 이름을 지정할 필요는 없지만, 값
뒤의 순서는 필드 정렬과 일치해야 합니다.한 번에 여러 레코드 삽입
테이블 이름에 삽입(필드 1, 필드 2, ..., 필드 n)
값 (값 1, 값 2,... , 값 n),(값 1, 값 2,..., 값 n);
Select distinct 字段1,字段2 from 表名;(只要字段1,字段2任何一个字段有不同就会被选择,一般用于distinct,只筛选一个字段)
select sum(salary) from employee group by department having sum(salary)>1000; 在一起使用:select sum(id),max(id),min(id),count(*) from a1;
정렬 및 제한
asc: 낮은 곳에서 높은 곳으로, 기본값도 선택 * 테이블 이름에서 필드 이름별 순서 asc;
desc: 높은 곳에서 맨 아래로 선택 *에서 테이블 이름 필드 이름 순서 desc;
다중 필드 정렬 테이블 이름에서 선택 * 필드 이름 순서 desc,id desc;
숫자 1은 가져오기를 시작할 레코드를 나타냅니다(0부터 시작). 숫자 2는 가져올 레코드 수를 나타냅니다!
Aggregation
사용자는 SQL 집계 작업이 필요한 일부 요약 작업을 수행해야 합니다.
①sum sum 테이블 이름에서 sum(필드 이름) 선택;②count 총 레코드 수 테이블 이름에서 count(*|필드 이름) 선택;
3max 최대값 테이블 이름에서 max(필드 이름) 선택; ④min 최소값은 테이블 이름에서 min(필드명)을 선택합니다.
⑤GROUP BY 분류 집계 부서별 직원 그룹에서 합계(급여)를 선택합니다.
⑥WITH ROLLUP 분류 및 집계된 결과를 다시 요약하여 합계(급여)를 선택합니다. 롤업을 사용하여 부서별로 직원 그룹에서;7HAVING
참고: having과 where is의 차이점은 집계 후 결과를 조건부 필터링하는 반면 where는 집계 전 레코드를 필터링하는 것만큼 정확해야 합니다. 가능한 기록이 먼저 필터링됩니다!
语法:select * from 表名1 where 字段1 in(select 字段2 from 表2);🎜테이블 연결(여러 테이블의 필드를 표시할 때 사용 가능) 🎜🎜🎜연결 분류 🎜🎜🎜🎜 내부 조인: 🎜두 테이블에서 일치하는 레코드 선택(테이블 1 이름에서 table.field,... 선택, 테이블 2 이름,... where [테이블 1. 필드 = 테이블 2. 필드와 같은 일치 조건];) 🎜🎜 select 문은 필드에 별칭을 제공할 수 있습니다. 쿼리해야 하는 필드 바로 뒤에 작성하면 됩니다! 표시하거나 테이블에 별칭을 지정할 수 있습니다🎜🎜🎜외부 조인:🎜서로 일치하는 두 레코드를 선택할 뿐만 아니라 일치하지 않는 다른 레코드도 쿼리됩니다🎜🎜🎜왼쪽 조인🎜🎜
包含左边表中的所有记录(包括右表中没有和它匹配的记录)select * from 表1 left join 表2 on 表1.字段=表2.字段;
包含右边表中的所有记录(包括左表中没有和它匹配的记录)
左连接和右连接是可以相互转换的!
子查询(一个查询需要另外一个查询的结果参与的时候)
用于子查询的关键字:
in在..里面(注意点 in后面的子语句必须只返回一个字段,若查询结果唯一(只有一条)可以使用=代替in,not in与in相反)
语法:select * from 表名1 where 字段1 in(select 字段2 from 表2);
Exists(后面那个子语句有没有查询出记录来,如果查询出记录来返回true,否则就是false,并且查询出来的记录的具体的值是NULL也可以,也是返回true.)
语法:select语句 where exists(select 语句);
not exits(与exists相反)
记录联合(我们常常会碰到需要将两个表或者多个表的数据按照一定的查询条件查询出来后,将结果合并到一起显示这是就需要用到记录联合)
多个select 语句用UNION或者UNION ALL隔开即可实现
区别: 前者会将多个查询结果合并后并且进行去除重复后返回,后者 则直接合并并不去除重复
联合的条件:查询的列个数要相等
更新记录
更新一个表
Update 表名 set 字段1=值1,字段2=值2,...,字段n=值n[where条件];
更新多个表中数据
Update 表1,表2,...表n set 表1.字段1=表达式1,...,表n.字段n=表达式n[where条件];
注:多表更新更多是用在根据一个标的字段来动态更新另一表的字段
推荐学习:php视频教程
위 내용은 PHP 데이터베이스의 기본 지식 포인트는 무엇입니까? 기본 진술? 기본 사상?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!