추천 무료 학습: 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;
1. 테이블 복제
데이터 테이블의 데이터 레코드를 새 테이블로 생성
방법 1
例:create table TEST01 like TEST; select * from TEST01; desc TEST01; insert into TEST01 select * from TEST; select * from TEST01;
방법 2
例:create table TEST02 (select * from TEST); select * from TEST02;
둘째, 테이블을 지우고 테이블 Data
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;
방법 2
例:select * from TEST03; truncate table TEST03; insert into TEST03 (name,cardid) values ('wangwu','33333'); select * from TEST03;
# TRUNCATE 테이블을 지운 후 삭제된 항목을 반환하지 않습니다. TRUNCATE가 작동하면 테이블 구조를 그대로 다시 설정하므로 TRUNCATE TABLE을 사용하여 테이블의 데이터를 지운 후 TRUNCATE가 테이블을 더 빨리 지웁니다. , ID는 1부터 다시 기록됩니다.
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;
4. 외래 키 제약 조건 만들기
데이터 무결성 및 일관성 보장 외래 키 정의: 동일한 속성 필드 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';
2、查看用户信息
创建后的用户保存在 mysql 数据库的 user 表里
USE mysql; SELECT User,authentication_string,Host from user;
3、重命名用户
RENAME USER 'zhangsan'@'localhost' TO 'wangwu'@'localhost'; SELECT User,authentication_string,Host from user;
4、删除用户
DROP USER 'lisi'@'localhost'; SELECT User,authentication_string,Host from user;
5、修改当前登录用户密码
SET PASSWORD = PASSWORD('abc123'); quit mysql -u root -p
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 #直接登录
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
六、数据库用户授权
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

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

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

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

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

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

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


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

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

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

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

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

Dreamweaver Mac版
시각적 웹 개발 도구
