찾다
데이터 베이스MySQL 튜토리얼MySQL 데이터베이스 고급 작업 살펴보기

MySQL 데이터베이스 고급 작업 살펴보기

추천 무료 학습: mysql 비디오 튜토리얼

Article 디렉토리

  • 고급 데이터 테이블 작업
    • 준비: MySQL 데이터베이스 설치
  • 1. 테이블 복제
    • 방법 1
    • 방법 2
  • 2. 테이블을 지우고 테이블의 모든 데이터 삭제
    • 방법 1
    • 방법 2
  • 3. 임시 테이블 생성
  • 4. 생성 외래 키 제약 조건
    • 6 MySQL의 일반적인 제약 조건
  • 5. 데이터베이스 사용자 관리
    • 1. 사용자 정보 보기
    • 3. 사용자 삭제.
    • 5. 현재 로그인 사용자 비밀번호 수정
    • 6. 다른 사용자의 비밀번호 수정
    • 7. 루트 비밀번호를 잊어버린 솔루션
    • 6. 데이터베이스 사용자 인증
  • 1. 권한 부여
  • 2 . 권한 보기
    • 3. 권한 취소
    고급 데이터 테이블 작업

준비: MySQL 데이터베이스 설치

Shell 스크립트 원클릭 배포 - MySQL 소스 코드 컴파일 및 설치

create database CLASS;
use CLASS;

create table TEST (id int not null,name char(20) 	not null,cardid varchar(18) not null unique 	key,primary key (id));

insert into TEST(id,name,cardid) values (1,'zhangsan','123123');

insert into TEST(id,name,cardid) values (2,'lisi','1231231');

insert into TEST(id,name,cardid) values (3,'wangwu','12312312');
select * from TEST;

MySQL 데이터베이스 고급 작업 살펴보기 1. 테이블 복제


데이터 테이블의 데이터 레코드를 새 테이블로 생성

방법 1

例:create table TEST01 like TEST;
select * from TEST01;

desc TEST01;
insert into TEST01 select * from TEST;
select * from TEST01;

방법 2MySQL 데이터베이스 고급 작업 살펴보기

例:create table TEST02 (select * from TEST);
select * from TEST02;

둘째, 테이블을 지우고 테이블 DataMySQL 데이터베이스 고급 작업 살펴보기

Method 1

delete from TEST02;

#DELETE 테이블을 지운 후 반환된 결과에는 삭제된 레코드 항목이 포함됩니다. DELETE는 작업 시 레코드 데이터를 행별로 삭제합니다. 테이블의 자동 증가 필드는 DELETE FROM을 사용합니다. 모든 레코드를 삭제한 후 새로 추가된 레코드는 원래 가장 큰 레코드 ID의 레코드를 계속 씁니다

例:create table if not exists TEST03 (id int primary 	key auto_increment,name varchar(20) not null,cardid varchar(18) not null unique key);
show tables;

insert into TEST03 (name,cardid) values ('zhangsan','11111');		
select * from TEST03;
delete from TEST03;

insert into TEST03 (name,cardid) values ('lisi','22222');
select * from TEST03;

MySQL 데이터베이스 고급 작업 살펴보기

방법 2MySQL 데이터베이스 고급 작업 살펴보기

例:select * from TEST03;
truncate table TEST03;
insert into TEST03 (name,cardid) values ('wangwu','33333');
select * from TEST03;

# TRUNCATE 테이블을 지운 후 삭제된 항목을 반환하지 않습니다. TRUNCATE가 작동하면 테이블 구조를 그대로 다시 설정하므로 TRUNCATE TABLE을 사용하여 테이블의 데이터를 지운 후 TRUNCATE가 테이블을 더 빨리 지웁니다. , ID는 1부터 다시 기록됩니다.

MySQL 데이터베이스 고급 작업 살펴보기 3. 임시 테이블 생성


임시 테이블이 성공적으로 생성된 후에는 SHOW TABLES 명령을 사용하여 생성된 임시 테이블을 볼 수 없습니다. 임시 테이블은 연결이 종료된 후에 삭제됩니다. 연결을 종료하기 전에는 DROP TABLE 문을 사용하여 수동으로 임시 테이블을 직접 삭제하는 등 추가, 삭제, 수정, 쿼리 등의 작업을 수행할 수도 있습니다.

CREATE TEMPORARY TABLE 表名 (字段1 数据类型,字段2 数据类型[,...][,PRIMARY KEY (主键名)]);

例:create temporary table TEST04 (id int not null,name varchar(20) not null,cardid varchar(18) not null unique key,primary key (id));
show tables;

insert into TEST04 values (1,'haha','12345');	
select * from TEST04;

MySQL 데이터베이스 고급 작업 살펴보기4. 외래 키 제약 조건 만들기MySQL 데이터베이스 고급 작업 살펴보기

데이터 무결성 및 일관성 보장 외래 키 정의: 동일한 속성 필드 x가 테이블 1에서는 기본 키이고, 테이블 2에서는 기본 키인 경우 기본 키가 아닌 필드 x를 테이블 2의 외래 키라고 합니다.

기본키 테이블과 외래키 테이블의 이해:

1. 공통키워드가 기본키인 테이블이 기본키 테이블(부모테이블, 메인테이블)
2. 공통키워드가 외래키인 테이블 는 외래 키 테이블입니다(테이블, 모양)

참고: 외래 키와 연결된 마스터 테이블의 필드는 기본 키로 설정되어야 하며, 슬레이브 테이블은 마스터 및 테이블의 필드가 될 수 없습니다. 슬레이브 테이블의 데이터 유형, 문자 길이 및 제약 조건은 동일합니다. 여기에 설명되지 않은 외래 키 이름을 삭제하세요

例:create table TEST04 (hobid int(4),hobname varchar(50));
create table TEST05 (id int(4) primary key auto_increment,name varchar(50),age int(4),hobid int(4));

alter table TEST04 add constraint PK_hobid primary key(hobid);
alter table TEST05 add constraint FK_hobid foreign key(hobid) references TEST04(hobid);

MySQL의 6가지 공통 제약 조건

主键约束 primary key
外键约束 foreign key
非空约束 not null
唯一约束 unique [key
默认值约束 default
自增约束 auto_increment

五、数据库用户管理

1、新建用户

CREATE USER '用户名'@'来源地址' [IDENTIFIED BY [PASSWORD] '密码'];

‘用户名’:指定将创建的用户名

‘来源地址’:指定新创建的用户可在哪些主机上登录,可使用IP地址、网段、主机名的形式,本地用户可用localhost,允许任意主机登录可用通配符%

‘密码’:若使用明文密码,直接输入’密码’,插入到数据库时由Mysql自动加密;
------若使用加密密码,需要先使用SELECT PASSWORD(‘密码’); 获取密文,再在语句中添加 PASSWORD ‘密文’;
------若省略“IDENTIFIED BY”部分,则用户的密码将为空(不建议使用)

例:create user 'zhangsan'@'localhost' identified by '123123';
select password('123123');
create user 'lisi'@'localhost' identified by password '*E56A114692FE0DE073F9A1DD68A00EEB9703F3F1';

MySQL 데이터베이스 고급 작업 살펴보기


2、查看用户信息

创建后的用户保存在 mysql 数据库的 user 表里

USE mysql;
SELECT User,authentication_string,Host from user;

MySQL 데이터베이스 고급 작업 살펴보기

3、重命名用户

RENAME USER 'zhangsan'@'localhost' TO 'wangwu'@'localhost';
SELECT User,authentication_string,Host from user;

MySQL 데이터베이스 고급 작업 살펴보기

4、删除用户

DROP USER 'lisi'@'localhost';
SELECT User,authentication_string,Host from user;

MySQL 데이터베이스 고급 작업 살펴보기

5、修改当前登录用户密码

SET PASSWORD = PASSWORD('abc123');
quit
mysql -u root -p

MySQL 데이터베이스 고급 작업 살펴보기

6、修改其他用户密码

SET PASSWORD FOR 'wangwu'@'localhost' = PASSWORD('abc123');
use mysql;
SELECT User,authentication_string,Host from user;

7、忘记 root 密码的解决办法

1、修改 /etc/my.cnf 配置文件,不使用密码直接登录到 mysql

vim /etc/my.cnf
[mysqld]
skip-grant-tables					#添加,使登录mysql不使用授权表
systemctl restart mysqld
mysql								#直接登录

MySQL 데이터베이스 고급 작업 살펴보기
MySQL 데이터베이스 고급 작업 살펴보기

2、使用 update 修改 root 密码,刷新数据库

UPDATE mysql.user SET AUTHENTICATION_STRING = PASSWORD('112233') where user='root';
FLUSH PRIVILEGES;
quit

再把 /etc/my.cnf 配置文件里的 skip-grant-tables 删除,并重启 mysql 服务。
mysql -u root -p
112233

MySQL 데이터베이스 고급 작업 살펴보기

六、数据库用户授权

1、授予权限

GRANT语句:专门用来设置数据库用户的访问权限。当指定的用户名不存在时,GRANT语句将会创建新的用户;当指定的用户名存在时,GRANT 语句用于修改用户信息。

GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'来源地址' [IDENTIFIED BY '密码'];

#权限列表:用于列出授权使用的各种数据库操作,以逗号进行分隔,如“select,insert,update”。使用“all”表示所有权限,可授权执行任何操作。

#数据库名.表名:用于指定授权操作的数据库和表的名称,其中可以使用通配符“*”。*例如,使用“kgc.*”表示授权操作的对象为 kgc数据库中的所有表。

#'用户名@来源地址':用于指定用户名称和允许访问的客户机地址,即谁能连接、能从哪里连接。来源地址可以是域名、IP 地址,还可以使用“%”通配符,表示某个区域或网段内的所有地址,如“%.lic.com”、“192.168.184.%”等。

#IDENTIFIED BY:用于设置用户连接数据库时所使用的密码字符串。在新建用户时,若省略“IDENTIFIED BY”部分, 则用户的密码将为空。

#允许用户wangwu在本地查询 CLASS 数据库中所有表的数据记录,但禁止查询其他数据库中的表的记录。

例:
GRANT select ON CLASS.* TO 'wangwu'@'localhost' IDENTIFIED BY '123456';
quit;
mysql -u wangwu -p
123456
show databases;
use information_schema;
show tables;
select * from INNODB_SYS_TABLESTATS;

#允许用户wangwu在本地远程连接 mysql ,并拥有所有权限。

quit;
mysql -u root -p112233
GRANT ALL PRIVILEGES ON *.* TO 'wangwu'@'localhost' IDENTIFIED BY '123456';

flush privileges;
quit

mysql -u wangwu -p123456
create database SCHOOL;

2、查看权限

SHOW GRANTS FOR 用户名@来源地址;

例:
SHOW GRANTS FOR 'wangwu'@'localhost';

3、撤销权限

REVOKE 权限列表 ON 数据库名.表名 FROM 用户名@来源地址;

例:quit;
mysql -u root -p112233
SHOW GRANTS FOR 'wangwu'@'localhost';
REVOKE SELECT ON "CLASS".* FROM 'wangwu'@'localhost';

SHOW GRANTS FOR 'wangwu'@'localhost';

#USAGE权限只能用于数据库登陆,不能执行任何操作;USAGE权限不能被回收,即 REVOKE 不能删除用户。

flush privileges;

更多相关免费学习推荐:mysql教程(视频)

위 내용은 MySQL 데이터베이스 고급 작업 살펴보기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 CSDN에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
MySQL : 초보자가 마스터하는 필수 기술MySQL : 초보자가 마스터하는 필수 기술Apr 18, 2025 am 12:24 AM

MySQL은 초보자가 데이터베이스 기술을 배우는 데 적합합니다. 1. MySQL 서버 및 클라이언트 도구를 설치하십시오. 2. SELECT와 같은 기본 SQL 쿼리를 이해하십시오. 3. 마스터 데이터 작업 : 데이터를 만들고, 삽입, 업데이트 및 삭제합니다. 4. 고급 기술 배우기 : 하위 쿼리 및 창 함수. 5. 디버깅 및 최적화 : 구문 확인, 인덱스 사용, 선택*을 피하고 제한을 사용하십시오.

MySQL : 구조화 된 데이터 및 관계형 데이터베이스MySQL : 구조화 된 데이터 및 관계형 데이터베이스Apr 18, 2025 am 12:22 AM

MySQL은 테이블 구조 및 SQL 쿼리를 통해 구조화 된 데이터를 효율적으로 관리하고 외래 키를 통해 테이블 ​​간 관계를 구현합니다. 1. 테이블을 만들 때 데이터 형식을 정의하고 입력하십시오. 2. 외래 키를 사용하여 테이블 간의 관계를 설정하십시오. 3. 인덱싱 및 쿼리 최적화를 통해 성능을 향상시킵니다. 4. 데이터 보안 및 성능 최적화를 보장하기 위해 데이터베이스를 정기적으로 백업 및 모니터링합니다.

MySQL : 주요 기능 및 기능이 설명되었습니다MySQL : 주요 기능 및 기능이 설명되었습니다Apr 18, 2025 am 12:17 AM

MySQL은 웹 개발에 널리 사용되는 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 주요 기능에는 다음이 포함됩니다. 1. 다른 시나리오에 적합한 InnoDB 및 MyISAM과 같은 여러 스토리지 엔진을 지원합니다. 2.로드 밸런싱 및 데이터 백업을 용이하게하기 위해 마스터 슬레이브 복제 기능을 제공합니다. 3. 쿼리 최적화 및 색인 사용을 통해 쿼리 효율성을 향상시킵니다.

SQL의 목적 : MySQL 데이터베이스와 상호 작용합니다SQL의 목적 : MySQL 데이터베이스와 상호 작용합니다Apr 18, 2025 am 12:12 AM

SQL은 MySQL 데이터베이스와 상호 작용하여 데이터 첨가, 삭제, 수정, 검사 및 데이터베이스 설계를 실현하는 데 사용됩니다. 1) SQL은 Select, Insert, Update, Delete 문을 통해 데이터 작업을 수행합니다. 2) 데이터베이스 설계 및 관리에 대한 생성, 변경, 삭제 문을 사용하십시오. 3) 복잡한 쿼리 및 데이터 분석은 SQL을 통해 구현되어 비즈니스 의사 결정 효율성을 향상시킵니다.

초보자를위한 MySQL : 데이터베이스 관리를 시작합니다초보자를위한 MySQL : 데이터베이스 관리를 시작합니다Apr 18, 2025 am 12:10 AM

MySQL의 기본 작업에는 데이터베이스, 테이블 작성 및 SQL을 사용하여 데이터에서 CRUD 작업을 수행하는 것이 포함됩니다. 1. 데이터베이스 생성 : createAbasemy_first_db; 2. 테이블 만들기 : CreateTableBooks (idintauto_incrementprimarykey, titlevarchar (100) notnull, authorvarchar (100) notnull, published_yearint); 3. 데이터 삽입 : InsertIntobooks (Title, Author, Published_year) VA

MySQL의 역할 : 웹 응용 프로그램의 데이터베이스MySQL의 역할 : 웹 응용 프로그램의 데이터베이스Apr 17, 2025 am 12:23 AM

웹 응용 프로그램에서 MySQL의 주요 역할은 데이터를 저장하고 관리하는 것입니다. 1. MySQL은 사용자 정보, 제품 카탈로그, 트랜잭션 레코드 및 기타 데이터를 효율적으로 처리합니다. 2. SQL 쿼리를 통해 개발자는 데이터베이스에서 정보를 추출하여 동적 컨텐츠를 생성 할 수 있습니다. 3.mysql은 클라이언트-서버 모델을 기반으로 작동하여 허용 가능한 쿼리 속도를 보장합니다.

MySQL : 첫 번째 데이터베이스 구축MySQL : 첫 번째 데이터베이스 구축Apr 17, 2025 am 12:22 AM

MySQL 데이터베이스를 구축하는 단계에는 다음이 포함됩니다. 1. 데이터베이스 및 테이블 작성, 2. 데이터 삽입 및 3. 쿼리를 수행하십시오. 먼저 CreateAbase 및 CreateTable 문을 사용하여 데이터베이스 및 테이블을 작성한 다음 InsertInto 문을 사용하여 데이터를 삽입 한 다음 최종적으로 SELECT 문을 사용하여 데이터를 쿼리하십시오.

MySQL : 데이터 저장에 대한 초보자 친화적 인 접근 방식MySQL : 데이터 저장에 대한 초보자 친화적 인 접근 방식Apr 17, 2025 am 12:21 AM

MySQL은 사용하기 쉽고 강력하기 때문에 초보자에게 적합합니다. 1.MySQL은 관계형 데이터베이스이며 CRUD 작업에 SQL을 사용합니다. 2. 설치가 간단하고 루트 사용자 비밀번호를 구성해야합니다. 3. 삽입, 업데이트, 삭제 및 선택하여 데이터 작업을 수행하십시오. 4. Orderby, Where and Join은 복잡한 쿼리에 사용될 수 있습니다. 5. 디버깅은 구문을 확인하고 쿼리를 분석하기 위해 설명을 사용해야합니다. 6. 최적화 제안에는 인덱스 사용, 올바른 데이터 유형 선택 및 우수한 프로그래밍 습관이 포함됩니다.

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를 무료로 생성하십시오.

뜨거운 도구

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

SublimeText3 영어 버전

SublimeText3 영어 버전

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

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구