MySQL의 기본 작업에 대해 자세히 알아보세요.
1. 테이블 복사
1. 테이블 구조 복사 hello3 테이블에 테이블 구조를 복사합니다
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) 결과: 113、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 … 语句,这样可以释放执行中使用的所有数据库资源(如游标)。 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; 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!五、预处理语句
不仅如此,如果一个session的预处理语句过多,可能会达到max_prepared_stmt_count的上限值。六、事务处理
七、存储过程
<!-- 创建存储过程 hello1()-->
CREATE PROCEDURE hello1()
BEGIN
SET @i=0;
WHILE @i<100 DO
insert INTO hello (sex,degree,name) VALUES(1,@i,CONCAT('name',@i));
SET @i=@i+1;
END WHILE;
end;
<!-- 查看存储-->
SHOW PROCEDURE STATUS;
<!-- 查看hello1()存储过程-->
show CREATE PROCEDURE hello1;
<!-- 执行存储过程-->
CALL hello1;
八、重排auto_increment值

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











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

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

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

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

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

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

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

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