I. SQL 개념
结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
관련 무료 학습 권장 사항:
Mysql 비디오 자습서
2, SQL 분류 (1) 데이터 정의 언어(데이터 정의 언어) DDL
에 사용됩니다. 데이터베이스 개체 정의: 데이터베이스, 테이블, 열... (2) 데이터 조작 언어(Data Manipulation Language) DML
은 데이터베이스의 테이블에 있는 레코드를 업데이트하는 데 사용됩니다. (3) 데이터 쿼리 언어 DQL
은 데이터베이스의 테이블에 있는 레코드를 쿼리하는 데 사용됩니다. (4) 데이터 제어 언어(Data Control Language) DCL
(1) DDL
1.创建数据库 create database 数据库名; create database 数据库名 character set 字符集; //字符集一般为uft-8,第二个语句是创建数据的同时并设置了字符集。2.查看数据库 use 数据库名; //切换数据库 show databases; //查看MySQL中都有哪些数据库 select database(); //查看当前正在使用的数据库 show create database 数据库名; //查看一个数据库的定义信息3.修改数据库字符集 alter database 数据库名 character set 字符集;4.删除数据库 drop database 数据库名;5.创建表 CREATE TABLE 表名( 字段名称1 字段类型(长度), 字段名称2 字段类型(长度) //注意:最后一个字段名称末尾不加, ); /*常用的数据类型 int 整型 double 浮点型 varchar 字符串 data 日期类型,yyyy-MM-dd 年-月-日 注意: char也表示字符串,但是跟varchar是有区别的 char和varchar区别: char类型是固定长度的,varchar是根据输入字符分配合适的空间,一般情况下用varchar */6.查看表 show tables; //查看当前数据库所有的表 desc 表名; //查看表的结构7.修改表 rename table 旧表名 to 新表名; // 修改表名 alter table 表名 character set 字符集; //修改字符集 alert table 表名 add 字段名称 字段类型; //向表中添加字段 alter table 表名 drop 字段名; //删除字段8.删除表 drop 表名 if exists 表名; //删除该表(2) DML
1.插入数据 insert into 表名 (字段名1,字段名2...) values(字段值1,字段值2...);2.更改数据 update 表名 set 列名 = 值 [where 字段名 = 值];3.删除数据 delete from 表名 [where 字段名 = 值];(3) DQL
1.简单查询 select 列名 from 表名; //列名可以用*号代替表示查询所有字段2.条件查询 select 列名 from 表名 where 条件表达式; // %表示任意多个字符串, _表示匹配一个字符,
3.排序 SELECT 字段名 FROM 表名 [WHERE 字段 = 值] ORDER BY 字段名 [ASC / DESC]; // ASC 表示升序排序(默认),DESC表示降序排序4.聚合函数 /*常用聚合函数 * count(字段) 统计指定列不为NULL的记录行数 * sum(字段) 计算指定列的数值和 * max(字段) 计算指定列的最大值 * min(字段) 计算指定列的最小值 * avg(字段) 计算指定列的平均值 */ SELECT 聚合函数(字段名) FROM 表名;5.分组 SELECT 分组字段/聚合函数 FROM 表名 GROUP BY 分组字段 [HAVING 条件];6.limit关键字 SELECT 字段1,字段2... FROM 表名 LIMIT offset , length; // offset 起始行数, 从0开始记数, 如果省略 则默认为 0. // length 返回的行数(4) DCL
1.创建用户 CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';2.给用户授权 GRANT 权限 1, 权限 2... ON 数据库名.表名 TO '用户名'@'主机名';3.查看权限 SHOW GRANTS FOR '用户名'@'主机名';4.删除用户 DROP USER '用户名'@'主机名';5.查询用户 SELECT * FROM USER;3. SQL 제약 조건
1. 主键约束 // 不可重复 唯一 非空 字段名 字段类型 primary key; // 主键的自动增长 AUTO_INCREMENT 表示自动增长(字段类型必须是整数类型) // 默认主键起始值是1,改变起始值 //-- 创建主键自增的表,自定义自增其实值字段名 字段类型 DEFAULT 默认值 // CREATE TABLE 表名( // eid INT PRIMARY KEY AUTO_INCREMENT, // …… // )AUTO_INCREMENT=100; // DELETE和TRUNCATE对自增长的影响(前者对自增没有影响,后者从1开始自增)2. 非空约束 字段名 字段类型 not null,3. 唯一约束 字段名 字段类型 unique,4. 默认值 字段名 字段类型 DEFAULT 默认值4. 트랜잭션 제어
1.什么是事务 事务是一个整体,由一条或者多条SQL 语句组成,这些SQL语句要么都执行成功,要么都执行失败, 只要一条SQL出现异常,整个操作就会回滚,整个业务执行失败。2. 手动提交事务 ① 开启事务 start transaction; ② 提交事务 commit; ③ 回滚事务 rollback;3. 自动提交事务(MySQL默认) // 取消自动提交 SET @@autocommit=off; // 查看自动状态, on是自动,off是手动提交 SHOW VARIABLES LIKE 'autocommit';4. **事务的四大特性**(重点) 原子性,一致性,隔离性,持久性。5. 事务隔离级别 //查看隔离级别 select @@tx_isolation; //5.7版本 // 设置隔离级别 set global transaction isolation level 级别名称; // read uncommitted 读未提交 // read committed 读已提交 // repeatable read 可重复读 // serializable 串行化5. 다중 테이블
(1) 개요
1. 在实际开发中,单表是满足不了业务需求的,同一个字段中很可能出现大量的 冗余字段,这就需要我们引入了多表。 2. 如果表1的某个字段与表2的主键对应,那么表1的这个字段就称为表1的外键, 拥有外键的表是从表,与外键对应的主键所在的表成为主表。 4. 外键约束:外键约束可以让两张表之间产生一定的对应关系,从而形成了约束。 5. 外键指的是与在从表中与主表的主键对应的字段。 6. 添加外键约束的语法格式 [CONSTRAINT] [外键约束名称] FOREIGN KEY(外键字段名) REFERENCES 主表名(主键字段名); alter table 从表 add [CONSTRAINT] [外键约束名称] FOREIGN KEY(外键字段名) REFERENCES 主表名(主键字段名); // 中括号里面的东西都是可以省略的 7. 删除外键约束的语法格式 alter table 从表 drop foreign key 外键约束名称; 8.外键约束的注意事项: ① 从表的外键类型必须与主表的主键类型一致。 ② 添加数据时,应该先添加主表的数据,然后再添加从表的数据 ③ 删除数据的时候,要先删除从表中的数据,再删除主表中的数据。 9.级联删除 删除数据的时候,要先删除从表中的数据,再删除主表中的数据,设置级联删除 变可以直接删除主表中的数据,同时从表中的数据也会跟着消失。 on delete cascade; //添加外键约束的时候后面跟着这句
일대다: 여러 테이블에 외래 키 생성 다대다: 최소 두 개의 필드가 있는 세 번째 테이블 생성(두 테이블의 기본 키)
일대일: 모든 테이블에 외래 키 생성(3) 다중 테이블 쿼리
1.内连接查询 SELECT 字段名 FROM 左表, 右表 WHERE 连接条件; SELECT 字段名 FROM 左表 [inner] JOIN 右表 ON 连接条件;2.外连接查询 SELECT 字段名 FROM 坐标 LEFT [outer] JOIN 右表 ON 连接条件; SELECT 字段名 FROM 坐标 RIGHT [outer] JOIN 右表 ON 连接条件;// 内连接: inner join , 只获取两张表中 交集部分的数据.// 左外连接: left join , 以左表为基准 ,查询左表的所有数据, 以及与右表有交集的部分// 右外连接: right join , 以右表为基准,查询右表的所有的数据,以及与左表有交集的部分3.子查询 SELECT 查询字段 FROM 表 WHERE 字段=(子查询); SELECT 查询字段 FROM (子查询)表别名 WHERE 条件; SELECT 查询字段 FROM 表 WHERE 字段 IN (子查询); // 子查询如果查出的是一个字段(单列), 那就在where后面作为条件使用. // 子查询如果查询出的是多个字段(多列), 就当做一张表使用(要起别名).
6. 데이터베이스 3가지 패러다임
데이터베이스 설계 규칙
목적: 중복성이 적고 합리적인 구조의 데이터베이스를 만듭니다.첫 번째 정규형(1NF) 최소 요구 사항을 충족하는 패러다임 - 열은 원자여야 하고 열은 분할 불가능해야 합니다. 두 번째 정규형(2NF) 첫 번째 정규형을 충족하는 것을 기반으로 더 많은 사양을 충족합니다. - — 테이블 한 가지만 설명할 수 있습니다 제3정규형(3NF) 등...
7. MySQL 인덱스
인덱스의 역할
* *분류 공통 인덱스: **기본 키 인덱스(기본 키); 고유 인덱스(고유); 일반 인덱스(인덱스)
(1) 기본 키 인덱스
1.创建的时候添加主键索引 CREATE TABLE 表名( 字段名 类型 PRIMARY KEY , //主键索引是唯一索引 );2.在已有表的基础上添加主键索引 ALTER TABLE 表名 ADD PRIMARY KEY(列名);
(2) 고유 인덱스
1. 创建的时候添加唯一索引 CREATE TABLE 表名( UNIQUE [索引名称] (列名) );2. 在已有表的基础上添加唯一索引 CREATE UNIQUE INDEX 索引名 on 表名(列名); ALTER TABLE 表名 ADD UNIQUE (列名);
(3) 일반 인덱스
create index 索引名 on 表名(列名[长度]); ALTER TABLE 表名 ADD INDEX 索引名(列名);
(4) 인덱스 삭제
ALTER TABLE table_name DROP INDEX index_name;
8.MySQL view
// 视图是一个表中根据不同需求提取出来的一个实际上不存在的表 create view 视图名 [column_list] as select语句; // 通过视图进行查询时将视图看成是一张表即可
관련 무료 학습 권장 사항:
mysql 데이터베이스
(동영상)위 내용은 일반적으로 사용되는 MySQL의 기본 지식의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

이 기사는 Docker에서 MySQL 메모리 사용을 최적화합니다. 모니터링 기술 (Docker Stats, Performance Schema, 외부 도구) 및 구성 전략에 대해 설명합니다. 여기에는 Docker 메모리 제한, 스와핑 및 CGroups와 함께 포함됩니다

이 기사에서는 MySQL의 "공유 라이브러리를 열 수 없음"오류를 다룹니다. 이 문제는 MySQL이 필요한 공유 라이브러리 (.so/.dll 파일)를 찾을 수 없음에서 비롯됩니다. 솔루션은 시스템 패키지 M을 통한 라이브러리 설치 확인과 관련이 있습니다.

이 기사는 MySQL의 Alter Table 문을 사용하여 열 추가/드롭 테이블/열 변경 및 열 데이터 유형 변경을 포함하여 테이블을 수정하는 것에 대해 설명합니다.

이 기사는 Linux에 MySQL을 직접 설치하는 것과 Phpmyadmin이없는 Podman 컨테이너 사용을 비교합니다. 각 방법에 대한 설치 단계에 대해 자세히 설명하면서 Podman의 격리, 이식성 및 재현성의 장점을 강조하지만 또한

이 기사는 자체 포함 된 서버리스 관계형 데이터베이스 인 SQLITE에 대한 포괄적 인 개요를 제공합니다. SQLITE의 장점 (단순성, 이식성, 사용 용이성) 및 단점 (동시성 제한, 확장 성 문제)에 대해 자세히 설명합니다. 기음

이 안내서는 Homebrew를 사용하여 MacOS에 여러 MySQL 버전을 설치하고 관리하는 것을 보여줍니다. 홈 브루를 사용하여 설치를 분리하여 갈등을 방지하는 것을 강조합니다. 이 기사에는 설치, 서비스 시작/정지 서비스 및 Best Pra에 대해 자세히 설명합니다

기사는 인증서 생성 및 확인을 포함하여 MySQL에 대한 SSL/TLS 암호화 구성에 대해 설명합니다. 주요 문제는 자체 서명 인증서의 보안 영향을 사용하는 것입니다. [문자 수 : 159]

기사는 MySQL Workbench 및 Phpmyadmin과 같은 인기있는 MySQL GUI 도구에 대해 논의하여 초보자 및 고급 사용자를위한 기능과 적합성을 비교합니다. [159 자].


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

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

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

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전
