목차
1. 테이블 복사" >1. 테이블 복사
3. 뷰 " >3. 뷰
4. 내장 함수 " > 4. 내장 함수
五、预处理语句" >五、预处理语句
六、事务处理" >六、事务处理
七、存储过程" >七、存储过程
八、重排auto_increment值" >八、重排auto_increment值
데이터 베이스 MySQL 튜토리얼 MySQL의 기본 작업에 대해 자세히 알아보세요.

MySQL의 기본 작업에 대해 자세히 알아보세요.

Mar 26, 2017 pm 01:41 PM

1. 테이블 복사

1. 테이블 구조 복사 hello3 테이블에 테이블 구조를 복사합니다

MySQL의 기본 작업에 대해 자세히 알아보세요.

2. 데이터 복사

a. 두 테이블의 구조가 동일하여 복사하려는 경우 모든 열 데이터

mysql> insert into hello3 select * from hello;
로그인 후 복사

b. 두 테이블의 결과가 다를 수 있으므로 일부 열의 데이터만 복사하면 됩니다.

mysql> insert into hello3 (name,sex,degree) select name,sex,degree from hello;
로그인 후 복사

2. 색인

1. create 인덱스를 생성합니다(일반 인덱스와 고유 인덱스만 생성 가능)

일반 인덱스 생성: mysql> hello(name); 테이블에 hello의 name 열은 in_name이라는 인덱스를 생성합니다.

고유 인덱스 생성: mysql> hello(name)에 고유 인덱스 un_name을 생성합니다. hello 테이블의 name 열에 대해 un_name이라는 고유 인덱스를 생성합니다.

인덱스 보기: mysql> hello 테이블의 인덱스 보기;

인덱스 삭제: mysql> hello 테이블에서 in_name 인덱스 삭제;

2. alter는 인덱스를 생성합니다(인덱스를 생성하는 일반적인 방법)

일반 인덱스 생성: mysql> alter table hello add index in_name(name); hello 테이블의 name 열에 대해 in_name이라는 인덱스를 만듭니다.

(일반/고유) 인덱스 삭제: mysql> alter table hello drop index in_name; hello 테이블에서 in_name이라는 일반 인덱스를 삭제합니다.

자동 증가 삭제: mysql> alter table hello 수정 id int unsigned not null; 테이블 hello의 id 열(int 유형)의 자동 증가 기능을 삭제합니다.

기본 키 인덱스 삭제: mysql> alter table hello drop PRIMARY KEY

고유 인덱스 생성: mysql> alter table hello add Unique(name); hello 테이블의 이름이 기본값입니다.

기본 키 인덱스 생성: mysql> alter table hello add 기본 키(id); hello 테이블의 id 필드에 대한 기본 키 인덱스를 생성합니다.

기본 키 인덱스를 자동 증가로 설정: mysql> alter table hello 수정 id int unsigned not null auto_increment; hello 테이블의 기본 키 id 열을 자동 증가로 설정합니다.

3. 뷰

메인 테이블 데이터가 변경되면 그에 따라 뷰도 수시로 변경됩니다. 뷰가 의존하는 테이블에 오류가 있는 경우(삭제된 경우) 뷰에도 오류가 있습니다.

뷰 생성: mysql> create view v_hello 선택 * from hello where id >5;

뷰 삭제: mysql> drop view v_hello;

뷰 생성 과정 보기: mysql> show create view v_hello; 뷰 생성 과정을 봅니다.

4. 내장 함수

문자 함수

1. CONCAT(str1, str2, ....) 문자 연결 함수

mysql> select concat('A','B' )

2. LCASE(str1) 소문자로 변환

mysql> ; select lcase("MYSQL");

3. UCASE(str1) 대문자로 변환

mysql> select UCASE("Mysql");

4. LENGTH(str ) str의 길이

mysql> select length('mysql') ;

6. RTRIM(str) 백엔드 공백 제거

mysql> select RTRIM(' mysql ');

7. REPEAT(str,count) 횟수 반복 Mysql> select REPLACE('mysql','m','M');

9 .SUBSTRING(str,postion,length) str

mysql> 1부터 시작하는 길이의 문자를 취합니다.

10. SPACE (count)는 카운트 공백을 생성합니다

mysql> select concat(space(3),'mysql') ;

수학 함수

1. BIN(10진수): 10진수를 2진수로 변환

2. CEILING(숫자) 반올림 mysql> 선택 천장(10.12) 결과: 11

3、FLOOR(number) 向下取整 mysql> select ceiling(10.12); 结果:10

4、MAX(column) 获取 最大列

5、MIN(column) 获取最小列

6、SQRT(num) 开平方

7、RAND() 返回0-1之间的随机数值

日期函数

1、CURDATE() 返回当前日期格式 yyyy-MM-dd

2、CURTIME()返回档期时间 12:11:56

3、NOW()返回当前时间 2017-05-12 21:12:34

4、UNIX_TIMESTAMP(date) 返回当前date的时间戳

5、FROM_UNIXTIME()返回UNIX时间戳的日期值

6、WEEK(date)返回当前时间date为一年中的第几周

7、YEAR(data)返回当前时间date的年份

8、DATEDIFF(expr1,expr2) 返回expr1与expr2之间的天数

五、预处理语句

无变量:

创建预处理语句:mysql> prepare stmt1 from 'select * from hello where id>5';创建一个名为stmt1的预处理语句

执行预处理语句:mysql> execute stmt1;执行stmt1预处理语句

带变量:

创建带参数的预处理语句:mysql> prepare stmt1 from 'select * from hello where id>?'

设置变量:mysql> set @i=6;

执行预处理语句:mysql> execute stmt2 using @i;

删除预处理语句:mysql> drop prepare stmt2; #mysql> DEALLOCATE PREPARE stmt2;

注意:每一次执行完EXECUTE时,养成好习惯,须执行DEALLOCATE PREPARE … 语句,这样可以释放执行中使用的所有数据库资源(如游标)。
不仅如此,如果一个session的预处理语句过多,可能会达到max_prepared_stmt_count的上限值。

六、事务处理

mysql默认事务是自动提交的。在做mysql事务处理时请将数据库或者表的ENGINE 设置为InnoDB

将表的存储引擎设置为INNODB:mysql> alter table hello engine=innodb;

设置mysql为非自动提交:mysql> set autocommit=0;

产生事务:mysql> delete from hello where id>7;

事务回滚:mysql> rollback;

事务提交:mysql> commit;

关于事务中的还原点:

创建一个事务:mysql> insert into hello (sex,degree,name) values(1,12312.32,'HHH');

对该事务设置还原点:mysql> savepoint p1;

回滚到指定的还原点:mysql> rollback to p1; 此时事务恢复到p1,也就是p1之后的事务p2 ,p3..这些还原点将失效。

回滚到原始的还原点:mysql> rollback;

七、存储过程

<!-- 创建存储过程 hello1()-->
CREATE PROCEDURE hello1()
    BEGIN
        SET @i=0;
        WHILE @i<100 DO 
        insert INTO hello (sex,degree,name) VALUES(1,@i,CONCAT(&#39;name&#39;,@i));
        SET @i=@i+1;
        END WHILE;
    end;
<!-- 查看存储-->
SHOW PROCEDURE STATUS;
<!-- 查看hello1()存储过程-->
show CREATE PROCEDURE hello1;
<!-- 执行存储过程-->
CALL hello1;
로그인 후 복사

八、重排auto_increment值

mysql中我们的主键id如果设置为主键自增策略,那我们如何清空表,并且恢复自增列id的值。

方式一:使用truncate table tableName; 该方式在清空表的同时恢复auto_increment 的值。

方式二:

  1、mysql> delete from hello3;  清空表 (该方式效率较低)

  2、mysql> alter table hello3 auto_increment=1; 恢复auto_increment 的起始值为1

위 내용은 MySQL의 기본 작업에 대해 자세히 알아보세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

MySQL 사용자와 데이터베이스의 관계 MySQL 사용자와 데이터베이스의 관계 Apr 08, 2025 pm 07:15 PM

MySQL 데이터베이스에서 사용자와 데이터베이스 간의 관계는 권한과 테이블로 정의됩니다. 사용자는 데이터베이스에 액세스 할 수있는 사용자 이름과 비밀번호가 있습니다. 권한은 보조금 명령을 통해 부여되며 테이블은 Create Table 명령에 의해 생성됩니다. 사용자와 데이터베이스 간의 관계를 설정하려면 데이터베이스를 작성하고 사용자를 생성 한 다음 권한을 부여해야합니다.

MySQL : 초보자를위한 데이터 관리의 용이성 MySQL : 초보자를위한 데이터 관리의 용이성 Apr 09, 2025 am 12:07 AM

MySQL은 설치가 간단하고 강력하며 데이터를 쉽게 관리하기 쉽기 때문에 초보자에게 적합합니다. 1. 다양한 운영 체제에 적합한 간단한 설치 및 구성. 2. 데이터베이스 및 테이블 작성, 삽입, 쿼리, 업데이트 및 삭제와 같은 기본 작업을 지원합니다. 3. 조인 작업 및 하위 쿼리와 같은 고급 기능을 제공합니다. 4. 인덱싱, 쿼리 최적화 및 테이블 파티셔닝을 통해 성능을 향상시킬 수 있습니다. 5. 데이터 보안 및 일관성을 보장하기위한 지원 백업, 복구 및 보안 조치.

Redshift Zero ETL과의 RDS MySQL 통합 Redshift Zero ETL과의 RDS MySQL 통합 Apr 08, 2025 pm 07:06 PM

데이터 통합 ​​단순화 : AmazonRdsMysQL 및 Redshift의 Zero ETL 통합 효율적인 데이터 통합은 데이터 중심 구성의 핵심입니다. 전통적인 ETL (추출, 변환,로드) 프로세스는 특히 데이터베이스 (예 : AmazonRDSMySQL)를 데이터웨어 하우스 (예 : Redshift)와 통합 할 때 복잡하고 시간이 많이 걸립니다. 그러나 AWS는 이러한 상황을 완전히 변경 한 Zero ETL 통합 솔루션을 제공하여 RDSMYSQL에서 Redshift로 데이터 마이그레이션을위한 단순화 된 거의 실시간 솔루션을 제공합니다. 이 기사는 RDSMYSQL ZERL ETL 통합으로 Redshift와 함께 작동하여 데이터 엔지니어 및 개발자에게 제공하는 장점과 장점을 설명합니다.

MySQL 사용자 이름 및 비밀번호를 작성하는 방법 MySQL 사용자 이름 및 비밀번호를 작성하는 방법 Apr 08, 2025 pm 07:09 PM

MySQL 사용자 이름 및 비밀번호를 작성하려면 : 1. 사용자 이름과 비밀번호를 결정합니다. 2. 데이터베이스에 연결; 3. 사용자 이름과 비밀번호를 사용하여 쿼리 및 명령을 실행하십시오.

MySQL의 쿼리 최적화는 데이터베이스 성능을 향상시키는 데 필수적입니다. 특히 대규모 데이터 세트를 처리 할 때 MySQL의 쿼리 최적화는 데이터베이스 성능을 향상시키는 데 필수적입니다. 특히 대규모 데이터 세트를 처리 할 때 Apr 08, 2025 pm 07:12 PM

1. 올바른 색인을 사용하여 스캔 한 데이터의 양을 줄임으로써 데이터 검색 속도를 높이십시오. 테이블 열을 여러 번 찾으면 해당 열에 대한 인덱스를 만듭니다. 귀하 또는 귀하의 앱이 기준에 따라 여러 열에서 데이터가 필요한 경우 복합 인덱스 2를 만듭니다. 2. 선택을 피하십시오 * 필요한 열만 선택하면 모든 원치 않는 열을 선택하면 더 많은 서버 메모리를 선택하면 서버가 높은 부하 또는 주파수 시간으로 서버가 속도가 느려지며, 예를 들어 Creation_at 및 Updated_at 및 Timestamps와 같은 열이 포함되어 있지 않기 때문에 쿼리가 필요하지 않기 때문에 테이블은 선택을 피할 수 없습니다.

산성 특성 이해 : 신뢰할 수있는 데이터베이스의 기둥 산성 특성 이해 : 신뢰할 수있는 데이터베이스의 기둥 Apr 08, 2025 pm 06:33 PM

데이터베이스 산 속성에 대한 자세한 설명 산 속성은 데이터베이스 트랜잭션의 신뢰성과 일관성을 보장하기위한 일련의 규칙입니다. 데이터베이스 시스템이 트랜잭션을 처리하는 방법을 정의하고 시스템 충돌, 전원 중단 또는 여러 사용자의 동시 액세스가 발생할 경우에도 데이터 무결성 및 정확성을 보장합니다. 산 속성 개요 원자력 : 트랜잭션은 불가분의 단위로 간주됩니다. 모든 부분이 실패하고 전체 트랜잭션이 롤백되며 데이터베이스는 변경 사항을 유지하지 않습니다. 예를 들어, 은행 송금이 한 계정에서 공제되지만 다른 계정으로 인상되지 않은 경우 전체 작업이 취소됩니다. BeginTransaction; updateAccountssetBalance = Balance-100WH

Navicat에서 데이터베이스 비밀번호를 검색 할 수 있습니까? Navicat에서 데이터베이스 비밀번호를 검색 할 수 있습니까? Apr 08, 2025 pm 09:51 PM

Navicat 자체는 데이터베이스 비밀번호를 저장하지 않으며 암호화 된 암호 만 검색 할 수 있습니다. 솔루션 : 1. 비밀번호 관리자를 확인하십시오. 2. Navicat의 "비밀번호 기억"기능을 확인하십시오. 3. 데이터베이스 비밀번호를 재설정합니다. 4. 데이터베이스 관리자에게 문의하십시오.

마스터 SQL 한계 절 항의 : 쿼리의 행 수 제어 마스터 SQL 한계 절 항의 : 쿼리의 행 수 제어 Apr 08, 2025 pm 07:00 PM

sqllimit 절 : 쿼리 결과의 행 수를 제어하십시오. SQL의 한계 절은 쿼리에서 반환 된 행 수를 제한하는 데 사용됩니다. 이것은 대규모 데이터 세트, 페이지 진화 디스플레이 및 테스트 데이터를 처리 할 때 매우 유용하며 쿼리 효율성을 효과적으로 향상시킬 수 있습니다. 구문의 기본 구문 : SelectColumn1, Collect2, ... Fromtable_namelimitnumber_of_rows; 번호_of_rows : 반환 된 행 수를 지정하십시오. 오프셋이있는 구문 : SelectColumn1, Column2, ... Fromtable_namelimitOffset, number_of_rows; 오프셋 : skip

See all articles