찾다
데이터 베이스MySQL 튜토리얼일반적으로 사용되는 MySQL의 기본 지식

I. SQL 개념

    结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
일반적으로 사용되는 MySQL의 기본 지식 관련 무료 학습 권장 사항:

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 CSDN에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
Docker에서 MySQL 메모리 사용을 줄입니다Docker에서 MySQL 메모리 사용을 줄입니다Mar 04, 2025 pm 03:52 PM

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

MySQL의 문제를 해결하는 방법 공유 라이브러리를 열 수 없습니다.MySQL의 문제를 해결하는 방법 공유 라이브러리를 열 수 없습니다.Mar 04, 2025 pm 04:01 PM

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

Alter Table 문을 사용하여 MySQL에서 테이블을 어떻게 변경합니까?Alter Table 문을 사용하여 MySQL에서 테이블을 어떻게 변경합니까?Mar 19, 2025 pm 03:51 PM

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

Linux에서 MySQL을 실행합니다 (Phpmyadmin이있는 Podman 컨테이너가 포함되지 않음)Linux에서 MySQL을 실행합니다 (Phpmyadmin이있는 Podman 컨테이너가 포함되지 않음)Mar 04, 2025 pm 03:54 PM

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

sqlite 란 무엇입니까? 포괄적 인 개요sqlite 란 무엇입니까? 포괄적 인 개요Mar 04, 2025 pm 03:55 PM

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

MacOS에서 여러 MySQL 버전을 실행 : 단계별 가이드MacOS에서 여러 MySQL 버전을 실행 : 단계별 가이드Mar 04, 2025 pm 03:49 PM

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

MySQL 연결에 대한 SSL/TLS 암호화를 어떻게 구성합니까?MySQL 연결에 대한 SSL/TLS 암호화를 어떻게 구성합니까?Mar 18, 2025 pm 12:01 PM

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

인기있는 MySQL GUI 도구는 무엇입니까 (예 : MySQL Workbench, Phpmyadmin)?인기있는 MySQL GUI 도구는 무엇입니까 (예 : MySQL Workbench, Phpmyadmin)?Mar 21, 2025 pm 06:28 PM

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

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

뜨거운 도구

안전한 시험 브라우저

안전한 시험 브라우저

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

DVWA

DVWA

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

SublimeText3 영어 버전

SublimeText3 영어 버전

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

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전