사례: 다양한 기능을 사용하여 데이터를 조작하고 다양한 기능의 기능과 사용법을 마스터하세요.
(1) 수학 함수 rand()를 사용하여 10 내의 임의의 정수 3개를 생성합니다.
(2) sin(), con(), tan(), cot() 함수를 사용하여 삼각함수 값을 계산하고, 계산 결과를 정수 값으로 변환합니다.
(3) 테이블을 만들고 문자열 및 날짜 함수를 사용하여 필드 값에 대해 작업을 수행합니다.
(4) 조건부 판단의 사용 사례 m_birth
가 2000보다 작으면 "old"를 표시하고, m_birth가 2000보다 크면 "young"을 표시합니다.
(무료 학습 권장 사항: mysql 비디오 튜토리얼)
mysql> select round( rand() * 10 ),round( rand() * 10 ), round( rand() * 10 );+----------------------+----------------------+----------------------+| round( rand() * 10 ) | round( rand() * 10 ) | round( rand() * 10 ) |+----------------------+----------------------+----------------------+| 9 | 8 | 1 |+----------------------+----------------------+----------------------+1 row in set (0.00 sec)
mysql> select pi(), -> sin(pi()/2), -> cos(pi()), -> round(tan(pi()/4)), -> floor(cot(pi()/4));+----------+-------------+-----------+--------------------+--------------------+| pi() | sin(pi()/2) | cos(pi()) | round(tan(pi()/4)) | floor(cot(pi()/4)) |+----------+-------------+-----------+--------------------+--------------------+| 3.141593 | 1 | -1 | 1 | 1 |+----------+-------------+-----------+--------------------+--------------------+1 row in set (0.00 sec)
①auto_increment 제약 조건의 m_id 필드, varchar 유형의 m_FN 필드, varchar 유형의 m_LN 필드, 날짜/시간 유형 m_birth 필드 및 varchar 유형 m_info 필드의 5개 필드를 포함하는 테이블 멤버를 생성합니다.
mysql> create table member -> ( -> m_id int auto_increment primary key, -> m_FN varchar(100), -> m_LN varchar(100), -> m_birth datetime, -> m_info varchar(255) null -> );Query OK, 0 rows affected (0.21 sec)
② 레코드를 삽입하세요. m_id 값은 기본값, m_FN 값은 "Halen", m_LN 값은 "Park", m_birth 값은 1970-06-29, m-info 값은 "GoodMan"입니다.
mysql> insert into member values -> ( null,'Halen','Park','1970-06-29','GoodMan');Query OK, 1 row affected (0.01 sec)mysql> select * from member;+------+-------+------+---------------------+---------+| m_id | m_FN | m_LN | m_birth | m_info |+------+-------+------+---------------------+---------+| 1 | Halen | Park | 1970-06-29 00:00:00 | GoodMan |+------+-------+------+---------------------+---------+1 row in set (0.00 sec)
③m_FN의 길이를 반환하고, 첫 번째 레코드에 있는 사람의 전체 이름을 반환하고, m_info 필드 값을 소문자로 변환합니다. m_info의 값을 역으로 출력합니다.
mysql> select length(m_FN),concat(m_FN,m_LN), -> lower(m_info),reverse(m_info) from member;+--------------+-------------------+---------------+-----------------+| length(m_FN) | concat(m_FN,m_LN) | lower(m_info) | reverse(m_info) |+--------------+-------------------+---------------+-----------------+| 5 | HalenPark | goodman | naMdooG |+--------------+-------------------+---------------+-----------------+1 row in set (0.00 sec)
4 첫 번째 레코드에서 사람의 나이를 계산하고 해당 연도의 m_birth 필드 값의 위치를 계산하여 "1997년 10월 4일 토요일" 형식으로 시간 값을 출력합니다.
mysql> select year(curdate())-year(m_birth) as age,dayofyear(m_birth) as days, -> date_format(m_birth,'%W %D %M %Y') as birthDate from member;+------+------+-----------------------+| age | days | birthDate |+------+------+-----------------------+| 49 | 180 | Monday 29th June 1970 |+------+------+-----------------------+1 row in set (0.00 sec)
⑤ 새 레코드를 삽입합니다. m_FN 값은 "Samuel", m_LN 값은 "Greem", m_birth 값은 현재 시스템 시간이고 m_info는 비어 있습니다. 마지막으로 삽입된 ID 값을 보려면 last_insert_id를 사용하세요.
mysql> insert into member values( null,'Samuel','Green',now(),null);Query OK, 1 row affected (0.04 sec)mysql> select * from member;+------+--------+-------+---------------------+---------+| m_id | m_FN | m_LN | m_birth | m_info |+------+--------+-------+---------------------+---------+| 1 | Halen | Park | 1970-06-29 00:00:00 | GoodMan || 2 | Samuel | Green | 2019-08-20 12:43:23 | NULL |+------+--------+-------+---------------------+---------+3 rows in set (0.00 sec)
테이블에 두 개의 레코드가 있는 것을 볼 수 있습니다. 다음으로 last_insert_id() 함수를 사용하여 마지막으로 삽입된 id 값을 확인합니다.
mysql> select last_insert_id();+------------------+| last_insert_id() |+------------------+| 3 |+------------------+1 row in set (0.00 sec)
mysql> select m_birth,case when year(m_birth)<2000 then 'old' -> when year(m_birth)>2000 then 'young' -> else 'not born' end as status from member;+---------------------+--------+| m_birth | status |+---------------------+--------+| 1970-06-29 00:00:00 | old || 2019-08-20 12:43:23 | young |+---------------------+--------+3 rows in set (0.00 sec)
관련 무료 학습 권장 사항: mysql 데이터베이스(동영상)
위 내용은 MySQL 연습 3: MySQL 함수 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!