[개인 노트] SQL 조작 기초
명령 방식 으로 데이터베이스 만 들 기
create database MySchool – database name on (name = 'MySchool data', – database name filename = 'd: \ MySchool data. mdf', – 물리 파일 이름 size = 5mb, – 초기 크기 maxsize = 10mb, – 최대 파일 크기 filegrowth = 15% – 주 파일 성 장 률) 로그 온(name = 'MySchool log', – 로그 파일 이름 filename = 'MySchool log. ldf, – 로그 물리 파일 이름 size = 2mb, maxsize = 4mb, filegrowth = 1mb) go
명령 방식 으로 표를 만 듭 니 다. - 표를 만 들 위 치 를 먼저 선택해 야 합 니 다.
형식: 열 형식 표지 메 인 키 가 빈 id INT IDENTITY (1, 1) create table Student (id INT IDENTITY (1, 1) 미리 키, name NVARCHAR (16) NOT NULL, age INT NOT NULL) 로 허용 되 는 지 여부
DML 데이터베이스 조작 언어
· 첨삭 조 정 · 데이터 추가 INSERT INTO 표 명 (... 열 명) VALUES (... 삽입 할 데이터) · INSERT INTO 표 명 VALUES (... 삽입 할 데이터) – 완전 삽 입 · INSERT INTO 표 명 (... 삽입 할 열 명) VALUES (... 대응 하 는 데이터) – 선택적으로 삽입
:
1. ,bit "0/1" True/False
2. , , ‘2014-10-10’
3.INSERT VALUE
4. ( ,SET IDENTITY_INSERT ON)( SET IDENTITY_INSERT OFF)
5. ‘ ’
6. , ,
7. NULL ,
8. UNICODE N ,
9.INSERT INTO ( ) VALUES(DEFAULT)
VALUES DEFAULT ,
10.INSERT INTO Student(Name) VALUES(' '' ')
, ( )
·
DELETE FROM Student --
TRUNCATA TABLE Studeng -- ( )
· , DELETE , TRUNCATE 。
DROP TABLE Student -- ( )
·
UPDATE SET 1= 1, 2= 2··· WHERE 1= 1( AND 2= 2 AND 3= 3 ···)( OR 2= 2 ···)( AND 2= 2 OR 3= 3)
UPDATE Student SET age=age+1
UPDATE Student SET age+=1
update Student set Phone='10010' where name=' ' and Gender=1 or name=' 6'
UPDATE Student SET Address=' ' WHERE Address IS NULL
WHERE Address IS NOT NULL
WHERE Address=' '
WHERE Address
:
1. AND OR
2. SET
3. WHERE :(||)OR 、 (&&)AND 、 (!)NOT 、 < 、 > 、 >= 、 <= 、 <>( !=)( )
:
:
:
: , ,
: ,
: 。 -CHECK
: ,
·
select 1( as ), 2( as )··· from where
select 1( as ' '), 2( as ' ')··· from where
select 1( ), 2( )··· from where
select 1+1 --
SELECT GETDATE() --
-TOP
--
select top 10 * from Student -- Student 10
select top 10 Name,Gender,Age from Student -- Student 10
select top 10 percent * from Student -- Student 10% , , 21/10=2.1=>3
-ORDER BY ( , )
-- ,
--order by desc :
--order by asc :
select top 10 * from Student order by id desc
-DISTINCT
-- 。 。
select distinct Name,Gender,Age from Student -- 。
· 취 합 함수 MAX (열 이름) – 한 줄 의 데이터 MIN (열 이름) 을 되 돌려 줍 니 다 – 한 줄 의 데이터 AVG (열 이름) 를 되 돌려 줍 니 다 – 한 줄 의 데이터 SUM (열 이름) 을 되 돌려 줍 니 다 – 한 줄 의 데이터 COUNT (열 이름) 를 되 돌려 줍 니 다 – 선별 에 성공 한 데 이 터 를 되 돌려 줍 니 다. COUNT (ID) 를 사용 하 는 것 을 권장 합 니 다.
:1. NULL 。 NULL,COUNT(*) 、 。
2. ,【select from 】 【select * from Student】 。
:select max(age) from Student --
select min(age),max(age),avg(age),sum(age) from Student --
select count(*) from Student where age=10 --
· 정렬 규칙 - 선후 순 서 는 숫자, 자모, 사나이 (병 음)
· WHERE - < > < = > = < >! = 등 판단 기호
- BETWEEN...AND... ( , , )
- BETWEEN 20 AND 30 20 30
-SELECT * FROM STUDENT WHERE AGE BETWEEN 20 AND 30
- IN ( 1,2...) ( )
-SELECT * FROM STUDENT WHERE CID IN (1,2) SELECT * FROM STUDENT WHERE CID=1 OR CID=2
-SELECT * FROM dbo.Student WHERE Gender IN (' ',' ')
:1.BETWEEN and , > and <
· 퍼 지 조회 - 시스템 에서 정 의 된 일치 부 호 를 사용 하여 정 의 된 규칙 에 따라 데 이 터 를 선별 합 니 다 - 일치 부:% [] ^ 는 하나의 임 의 문자% 가 0 개 또는 여러 개의 임 의 문 자 를 대표 합 니 다 [] 는 한 문 자 를 대표 하 는 수치 구간 - 대소 문자 구분 없 음 ^ 배합 []이 구간 에 속 하지 않 음 을 표시 합 니 다. - 이 일치 문자 데이터 베 이 스 는 호 환 되 지 않 습 니 다. SQL SERVER 는 사용 할 수 있 습 니 다. 다른 데이터 베 이 스 는 NOT LIKE 를 사용 해 야 합 니 다.
:1.
2. [] , '^' , '^' [] '^'
- :SELECT * FROM STUDENT WHERE NAME LIKE '% %' -- ' '
SELECT * FROM STUDENT WHERE NAME LIKE ' %' -- ' '
SELECT * FROM STUDENT WHERE NAME LIKE '_A%' -- 'A'
SELECT * FROM STUDENT WHERE NAME LIKE '%[A-Z]%] --
SELECT * FROM STUDENT SHERE NAME LIKE '%[0-9]%' --
SELECT * FROM STUDENT WHERE NAME LIKE '%[0-9(,)A-Z]%' --
SELECT * FROM STUDENT WHERE NAME LIKE '%[^0-9A-Z]%' --
SELECT * FROM STUDENT WHERE NAME NOT LIKE '%[0-9A-Z]%' -- ,
:
SELECT * FROM STUDENT WHERE NAME LIKE '%[%]%' -- '%'
SELECT * FROM STUDENT WHERE NAME LIKE '%[_]%' -- '_'
SELECT * FROM STUDENT WHERE NAME LIKE '%['']%' --
SELECT * FROM STUDENT WHERE NAME LIKE '%['']%' --
SELECT * FROM STUDENT WHERE NAME LIKE '%^%' -- '^'
· 빈 값 판단 - SELECT * ADRESS 가 NULL 인 STUDENT 에서 - SELECT * ADRESS 가 NULL 이 아 닌 STUDENT 에서
· ISNULL () 함수 - 예 를 들 어 SELECT NAME, ISNULL (AGE, AGE 형식 에 맞 는 다른 값) FROM STUDENT WHERE... - 조회 결과 AGE 의 값 이 'NULL' 이면 교체 할 값 으로 표 시 됩 니 다.
· 형식 변환 - CAST (AGE AS NVARCHAR (10)) – INT 형식 이 었 던 AGE 를 NVARCHAR (10) 형식 으로 변환 - CONVERT (INT, '123') – 문자열 '123' 을 INT 형식 으로 변환 -
· GROUP BY CAST (EXPRESSION AS DATA TYPE) CONVERT (DATA TYPE, EXPRESSION, [STYLE]) - 특정한 데이터 에 따라 그룹 을 나 누고 되 돌아 오 는 데이터 시트 의 한 줄 은 한 그룹 을 대표 하 며 취 합 함수 에 맞 춰 사용 합 니 다. - 예 를 들 어 SELECT GENDER, MAX (AGE), MIN (AGE), SUM (AGE)FROM STUDENT GROUP BY GENDER SELECT * FROM STUDENT GROUP BY GENDER - 주:
-HAVING
- 。 GROUP BY
- :SELECT AGE,COUNT(ID) FROM STUDENT GROUP BY AGE HAVING AGE>25
SELECT AGE,COUNT(ID) FROM STUDENT GROUP BY AGE HAVING COUNT(ID)>1
· SQL 문장의 실행 순서 1. SELECT - > DISTINCT - > TOP 2. FROM 표 3. WHERE 조건 - 형성 결과 집 4. GROUP BY 열 5. HAVING 선별 조건 6. ORDER BY 열
'UNION 공동 조회 - 1. 두 결과 집합 은 같은 열 수 를 가 져 야 합 니 다. 2. 열 은 같은 데이터 형식 (최소 암시 적 변환 가능) 을 가 져 야 합 니 다. 3. 최종 출력 된 집합의 열 이름 은 첫 번 째 결과 집합의 열 이름 으로 정 해 집 니 다.
-SELECT * FROM STUDENT WHERE AGE>25
UNION
SELECT * FROM STUDENT WHERE AGE<30
UNITON
...
( , )
-SELECT * FROM STUDENT WHERE AGE>25
UNION ALL
SELECT * FROM STUDENT WHERE AGE<30
UNITON ALL
...
( , )
· 일괄 삽입 = 삽입 문 + 결과 집 - 결과 집 을 값 으로 데이터베이스 에 삽입 합 니 다. 결과 집의 열 수, 유형 은 모두 같 아야 합 니 다. INSERT INTO STUDENT (STUNO, ENGLISH, MATH) SELECT 1, 80, 100 UNION SELECT 1, 80, 100 UNION SELECT 3, 50, 59 UNION ALL SELECT 4, 66, 89 UNION SELECT 5, 59, 100
- ,
Select * into Score2 from Score where 1<>1
· 문자열 함수 - LEN (STRING) 계산 문자열 의 문자 갯 수 - DATALENGTH (STRING) 계산 문자열 의 바이트 길이 - LOWER (STRING) 문자열 을 소문 자로 변환 - UPPER (STRING) 문자열 을 대문자 로 변환 - LTRIM (STRING) 문자열 왼쪽 의 공백 문자 제거 - RTRIM (STRING) 문자열 오른쪽 공백 문자 제거 - LEFT (STRING, LENGTH)왼쪽 에서 부터 문자열 을 가 져 오 는 LENGTH 길이 의 문자열 - RIGHT (STRING, LENGTH) 오른쪽 에서 부터 문자열 을 가 져 오 는 LENGTH 길이 의 문자열 - SUBSTRING (STRING, START NUM, LENGTH) 문자열 에서 START NUM 문자 부터 LENGTH 문 자 를 가 져 옵 니 다.
날짜 함수 - GETDATE () 가 현재 날짜 - DATEDD (PART NAME, NUM, DATE) 를 얻 고 DATE 에 NUM 을 추가 하 는 시간 예 를 들 어 SELECT DATEADD (YEAR, 2, GETDATE () SELECT DATEADD (MONTH, 2, GETDATE ()) SELECT DATEADD (DAY, 2, GETDATE () SELECT DATEADD (HOUR, 2, GETDATE ())) SELECT DATEADD (HOUR, 2, GETDATE ()).... - DATEDFF (DATE DAME, START DATE, END DATE, END DATE, DATE, END DATE,........ -).DATE NAME 를 시간 단위 로 하 는 두 시간의 차 이 를 예 로 들 면 SELECT DATEDIFF (MINUTE, GETDATE (), DATEADD (YEAR, 2, GATDATE ())) - DATEPART (DATE) 가 한 날 짜 를 얻 는 특정한 부분, 예 를 들 어 SELECT DATEPART (YEAR, GETDATE ()) SELECT DATEPART (MONTH, GETDATE ()) SELECT DATEPART (HOUR, GETDATE () - YEAR (DATE) - YEAR (DATE) 이 얻 은 해 - MONTH, GETDATE ()) SELECT DATEPART (HOUR, GETDATE () - YEAR () - YEAR (DATE) 이 얻 은 해 - MONT(DATE)취득 일 월 - DAY (DATE) 취득 일
· 절대 값 ABS (수치)
【 고급 운용 】 - INSERT 1. INSERT 문장의 VALUES 앞 에 OUTPUT INSERTED. 열 명 을 추가 하면 추가 데이터 의 열 명 치 를 얻 을 수 있 습 니 다. 일반적인 INSERT 구문 에 비해 OUTPUT 를 사용 할 때 열 명 치 를 되 돌려 줍 니 다. @ IDENTITY 와 유사 합 니 다.
- DELETE 1. DELETED. 열 이름, WHERE 앞에서 사용 하면 INSERTED. 열 이름과 같은 효과 가 있 습 니 다. (여러 줄 을 삭제 하면 여러 값 을 되 돌려 줍 니 다.)
존재 하 는 표 의 열 에 기본 값 제약 조건 을 추가 합 니 다 ALTER TABLE [표 이름] ADD CONSTRAINT [제약 이름] DEFAULT ([기본 값]) FOR [열 이름]
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
깊이 중첩된 객체를 정확히 일치 검색 - PostgreSQL목차 * 🚀 * 🎯 * 🏁 * 🙏 JSON 객체 예시 따라서 우리의 현재 목표는 "고용주"사용자가 입력한 검색어(이 경우에는 '요리')를 얻고 이 용어와 정확히 일치하는 모든 사용자 프로필을 찾는 것입니다. 즐거운 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.