데이터 베이스 MySQL 튜토리얼 【MySQL】(4)操作数据表中的记录_MySQL

【MySQL】(4)操作数据表中的记录_MySQL

Jun 01, 2016 pm 12:59 PM
데이터 시트

1. 插入记录INSERT

方法一:

INSERT [INTO] tbl_name [(clo_name,...)] {VALUES | VALUE} ({expr | DEFAULT},...),(...),...;

例如:

 

CREATE TABLE users(id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, username VARCHAR(20) NOT NULL, password VARCHAR(32) NOT NULL, age TINYINT UNSIGNED NOT NULL DEFAULT 10, sex BOOLEAN);
# 插入记录,不指定列的数目时,必须所有的字段都要赋值
INSERT users VALUES(NULL, 'Tom', '123', 25, 1);
INSERT users VALUES(NULL, 'Tom2', '123', 28, 1);
INSERT users VALUES(DEFAULT, 'Tom3', '111', 28, 1);
# 使用数学表达式也可以添加值
INSERT users VALUES(DEFAULT, 'Tom4', '111', 3*7+2/3, 1);
# 给年龄DEFAULT,会采用默认值10
INSERT users VALUES(DEFAULT, 'Tom5', '111', DEFAULT, 1);
# 一次添加多条记录
INSERT users VALUES(DEFAULT, 'Tom6', '111', DEFAULT, 1), (NULL, 'Rose', md5('213'), DEFAULT, 0);
로그인 후 복사
方法二:

INSERT [INTO] tbl_name SET col_name={exp | DEFAULT},...;

这个方法与第一种方式的区别在于,此方法可以使用子查询(SubQuery),此方法一次性只能插入一条记录。

例如:

INSERT users SET username='Ben', password='456';
로그인 후 복사
方法三:

INSERT [INTO] tbl_name [(col_name, ...)] SELECT ...;

使用此方法可以将查询结果插入到指定数据表。

2. 单表更新记录UPDATE

UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1={expr1 | DEFAULT} [, col_name2={expr2 | DEFAULT}] ... [WHERE where_condition];

例如:

# 所有记录的年龄都加5
UPDATE users SET age=age+5;
# 更新多列
UPDATE users SET age=age-id, sex=0;
# 更新id为偶数的记录
UPDATE users SET age=age+10 WHERE id%2=0;
로그인 후 복사

3. 单表删除记录DELETE

DELETE FROM tbl_name [WHERE where_condition];

例如:

DELETE FROM users WHERE id=6;
로그인 후 복사

即使在删除后,id号不连续,那么新增的数据还是会在最大的id号加一。

4. 查询表达时解析

SELECT select_expr [, select_expr ...] [FROM table_references [WHERE whrere_condition] [GROUP BY {col_name | position} [ASC | DESC],...][HAVING where_condition][ORDER BY {col_name | expr | position} [ASC | DESC], ...][LIMIT {[offset,] row_count | row_count OFFSET offset}]];

每一个表达式表示想要的一列,必须至少有一个。多个烈之间以英文逗号分隔。星号(*)表示所有列。tbl_name.*可以表示命名表的所有列。查询表达式可以使用[AS] alias_name为其赋予别名。别名可用于GROUP BY,ORDER BY或HAVING字句。

例如:

# 查看MySQL版本
SELECT VERSION();
# 查看当前时间
SELECT NOW();
# 只查看前两列
SELECT id, username FROM users;
SELECT username, id FROM users;
SELECT users.id, users.username FROM users;
SELECT id AS userid, username AS uname FROM users;
# AS关键字可以省略,但是尽量写上,避免不必要的错误
SELECT id username FROM users;
로그인 후 복사
字段的顺序和结果集都将影响查询出的结果集。

(1). WHERE

条件表达式

对记录进行过滤,如果没有指定WHERE字句,则显示所有记录。在WHERE表达式中,可以使用MySQL支持的函数或运算符。

(2). GROUP BY

查询结果分组

例如:

SELECT sex FROM users GROUP BY sex;
# 1表示按照SELECT语句中第一个出现的字段排序
SELECT sex FROM users GROUP BY 1;
로그인 후 복사
(3). HAVING

分组条件

例如:

# 当HAVING语句有age的条件时,前面的SELECT中必须出现这个age字段
SELECT sex, age FROM users GROUP BY 1 HAVING age>35;
# 或者是一个聚合函数
SELECT sex, age FROM users GROUP BY 1 HAVING count(id)>=2;
로그인 후 복사
(4). ORDER BY

对查询结果进行排序

例如:

# 按照id降序排列
SELECT * FROM users ORDER BY id DESC;
# 同时以两个字段排序age默认升序,id降序
SELECT * FROM users ORDER BY age, id DESC;
로그인 후 복사
(5). LIMIT

限制查询结果返回的数量

例如:

# 从第1条开始返回2条记录
SELECT * FROM users LIMIT 2;
# 从第1条开始,偏移2条后,查询2条记录
SELECT * FROM users LIMIT 2 OFFSET 2;
# 从第4条开始(从0开始计数),返回2条记录
SELECT * FROM users LIMIT 3, 2;
SELECT * FROM users ORDER BY id DESC LIMIT 2, 2;
CREATE TABLE test(id TINYINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, username VARCHAR(20));
# 将users年龄大于30的数据插入test表
INSERT test(username) SELECT username FROM users WHERE age>=30;
로그인 후 복사

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 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 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

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

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

MySQL의 데이터 테이블 압축 기술 MySQL의 데이터 테이블 압축 기술 Jun 16, 2023 am 08:16 AM

MySQL은 많은 웹사이트와 애플리케이션의 핵심 구성 요소인 공통 관계형 데이터베이스입니다. 데이터의 양이 점점 더 많아질수록 MySQL의 성능을 최적화하는 방법이 특히 중요해집니다. 핵심 영역 중 하나는 데이터 테이블 압축입니다. 이 기사에서는 MySQL의 데이터 테이블 압축 기술을 소개합니다. 압축된 테이블과 압축되지 않은 테이블 MySQL에는 압축된 테이블과 압축되지 않은 테이블이라는 두 가지 유형의 데이터 테이블이 있습니다. 압축되지 않은 테이블은 고정 길이 행 형식을 사용하여 데이터를 저장하는 MySQL의 기본 테이블 유형입니다. 이는 데이터를 의미합니다.

MySQL의 데이터 테이블 DDL 연산 기술 MySQL의 데이터 테이블 DDL 연산 기술 Jun 15, 2023 pm 07:55 PM

MySQL은 완전한 DDL(데이터 정의 언어) 작업을 지원하는 매우 인기 있는 오픈 소스 관계형 데이터베이스 관리 시스템입니다. DDL은 데이터 테이블, 뷰, 인덱스 등 데이터베이스 내의 다양한 데이터 객체를 정의하고 관리하는 데 사용되는 언어입니다. 데이터베이스 관리자와 개발자가 MySQL의 데이터 테이블에 대한 DDL 운영 기술을 숙지하는 것은 매우 중요합니다. 본 글에서는 MySQL에서 데이터 테이블의 DDL 연산 기술과 방법을 구체적으로 소개하고, 실제 운용 사례를 제시한다. 1. 데이터 테이블을 생성합니다. 데이터 테이블 생성은 DDL에 있습니다.

mysql은 데이터 테이블 이름을 수정합니다. mysql은 데이터 테이블 이름을 수정합니다. Jun 20, 2023 pm 05:52 PM

MySQL은 데이터 테이블을 수정합니다. 1. 먼저 데이터베이스의 모든 테이블을 확인합니다. 코드는 "SHOW TABLES;"입니다. 2. 테이블 이름을 수정합니다. 코드는 "ALTER TABLE 이전 테이블 이름 RENAME [TO] 새 테이블 이름입니다. ;". 3. 테이블 이름이 성공적으로 수정되었는지 확인합니다. 코드는 "SHOW TABLES;"입니다.

MySQL의 데이터 테이블 다시 로드 기술 MySQL의 데이터 테이블 다시 로드 기술 Jun 15, 2023 pm 11:28 PM

MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템으로, 데이터베이스 설계, 데이터 저장 및 관리에 있어 기본 기능이 뛰어납니다. MySQL에서 데이터 테이블은 데이터를 저장하는 가장 기본적인 단위이다. 실제 응용 프로그램에서 데이터 테이블 다시 로드는 매우 일반적인 운영 기술로, 데이터베이스의 운영 효율성을 향상하고 시스템의 안정성을 향상시키는 데 도움이 될 수 있습니다. 이 기사에서는 MySQL의 데이터 테이블 오버로드에 대한 개념, 원리 및 실제 적용부터 이 작업 기술을 자세히 소개합니다. 1. 데이터 테이블 오버로딩이란?

Jul 24, 2023 pm 09:52 PM

MySQL의 AVG 함수를 사용하여 데이터 테이블에 있는 숫자 열의 평균값을 계산하는 방법 소개: MySQL은 데이터를 처리하고 계산하는 풍부한 내장 함수를 갖춘 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 그 중 AVG 함수는 숫자 열의 평균을 계산하는 데 사용되는 함수입니다. 이 문서에서는 AVG 함수를 사용하여 MySQL 데이터 테이블의 숫자 열의 평균값을 계산하는 방법을 소개하고 관련 코드 예제를 제공합니다. 1. 샘플 데이터 테이블 생성 먼저 데모용 샘플 데이터 테이블을 생성해야 합니다. 다음과 같은 파일이 있다고 가정합니다.

Thinkorm을 사용하여 데이터 테이블 간 관련 쿼리를 구현하는 방법 Thinkorm을 사용하여 데이터 테이블 간 관련 쿼리를 구현하는 방법 Aug 01, 2023 am 08:25 AM

Thinkorm을 사용하여 데이터 테이블 간 관련 쿼리를 구현하는 방법 소개: 데이터베이스 개발 중에 여러 데이터 테이블 간에 관련 쿼리를 수행해야 하는 상황에 자주 직면하게 됩니다. 뛰어난 데이터베이스 ORM 프레임워크인 Thinkorm을 사용하면 데이터 테이블의 관련 쿼리를 쉽게 구현하고 개발 효율성을 높일 수 있습니다. 이 기사에서는 Thinkorm을 사용하여 데이터 테이블 간 관련 쿼리를 구현하는 방법을 소개하고 독자의 이해를 돕기 위한 코드 예제를 제공합니다. 1. 기본 개념 관련 쿼리를 수행하기 전에 먼저 다음 사항을 이해해야 합니다.

MySQL의 기본 최적화를 달성하는 방법: 데이터 테이블의 수평 및 수직 분할 전략 MySQL의 기본 최적화를 달성하는 방법: 데이터 테이블의 수평 및 수직 분할 전략 Nov 08, 2023 pm 06:57 PM

MySQL의 기본 최적화를 실현하는 방법: 특정 코드 예제가 필요한 데이터 테이블의 수평 및 수직 분할 전략 소개: 대규모 애플리케이션 시나리오에서 MySQL 데이터베이스는 대규모 데이터를 저장하고 쿼리해야 하는 경우가 많습니다. 이러한 문제를 해결하기 위해 MySQL은 수평 파티셔닝(HorizontalPartitioning)과 수직 파티셔닝(VerticalPartitioning)을 포함한 데이터 테이블 파티셔닝 전략을 제공합니다. 이 기사에서는 다음에 중점을 두고 MySQL 기본 최적화를 구현하는 방법을 소개합니다.

MySQL에서 MAX 함수를 사용하여 데이터 테이블에서 가장 큰 값을 찾는 방법 MySQL에서 MAX 함수를 사용하여 데이터 테이블에서 가장 큰 값을 찾는 방법 Jul 25, 2023 pm 09:49 PM

MySQL에서 MAX 함수를 사용하여 데이터 테이블에서 최대값을 찾는 방법 소개: MySQL에서는 데이터 테이블에서 최대값을 찾는 것을 포함하여 데이터 테이블에 대한 다양한 쿼리 및 분석을 수행해야 하는 경우가 많습니다. 데이터 테이블의 최대값은 MAX 함수를 사용하여 쉽게 찾을 수 있으며 데이터를 추가로 처리할 때 매우 유용합니다. 이 기사에서는 MAX 함수를 사용하여 데이터 테이블에서 가장 큰 값을 찾는 방법을 소개하고 해당 코드 예제를 제공합니다. 1. MAX 함수 소개 MAX 함수는 MySQL의 집계 함수입니다.

See all articles