1.SQLステートメントの分類
MySQLの学習は、主に一般的なSQLステートメントを学習することであり、SQLステートメントには、追加、削除、変更、およびクエリが含まれます。SQLステートメントはどのように分類されますか。
DQL(データクエリ言語):クエリステートメント。すべてのselectステートメントはDQLです。
DML(データ操作言語):テーブル内のデータを追加、削除、および変更するために、削除更新を挿入します。
DDL(データ定義言語):テーブル構造へのドロップ変更、追加、削除、および変更を作成します。
TCL(トランザクション制御言語):コミットはトランザクションをコミットし、ロールバックはトランザクションをロールバックします。(TCLのTはトランザクションです)
DCL(データ制御言語):承認の付与、取り消しなど。
。
。
。
注:このページで使用されるデータベースの場合は、次の端に示されています。
2.簡単なクエリ
オペレーティングテーブル
mysql> select * from emp;
EMPNO | エナメ | ジョブ | MGR | 雇用日 | しなければならない | COMM | DEPTNO |
---|---|---|---|---|---|---|---|
7369 | スミス | 店員 | 7902 | 1980-12-17 | 800.00 | ヌル | 20 |
7499 | アレン | セールスマン | 7698 | 1981-02-20 | 1600.00 | 300.00 | 30 |
7521 | 区 | セールスマン | 7698 | 1981-02-22 | 1250.00 | 500.00 | 30 |
7566 | ジョーンズ | マネージャー | 7839 | 1981-04-02 | 2975.00 | ヌル | 20 |
7654 | マーティン | セールスマン | 7698 | 1981-09-28 | 1250.00 | 1400.00 | 30 |
7698 | ブレイク | マネージャー | 7839 | 1981-05-01 | 2850.00 | ヌル | 30 |
7782 | クラークス | マネージャー | 7839 | 1981-06-09 | 2450.00 | ヌル | 10 |
7788 | スコット | アナリスト | 7566 | 1987-04-19 | 3000.00 | ヌル | 20 |
7839 | キング | 大統領 | ヌル | 1981-11-17 | 5000.00 | ヌル | 10 |
7844 | ターナー | セールスマン | 7698 | 1981-09-08 | 1500.00 | 0.00 | 30 |
7876 | ADAMS | 店員 | 7788 | 1987-05-23 | 1100.00 | ヌル | 20 |
7900 | ジェームズ | 店員 | 7698 | 1981-12-03 | 950.00 | ヌル | 30 |
7902 | フォード | アナリスト | 7566 | 1981-12-03 | 3000.00 | ヌル | 20 |
7934 | ミラー | 店員 | 7782 | 1982-01-23 | 1300.00 | ヌル | 10 |
各フィールドのフィールド名は、従業員番号、従業員名、従業員の役職、従業員の上位リーダー番号、従業員の雇用日、従業員の給与、従業員の手当、および従業員の部門番号です。
構文形式:
テーブル名からフィールド名1、フィールド名2、フィールド名3、...を選択します。
ヒント:
1。SQLステートメントはすべて「;」で終わります。
2.sqlステートメントでは大文字と小文字は区別されません。
empからename、empnoを選択します。
注:表示の数が多すぎる場合、または表示されるクエリデータの数が重要でない場合、スクリーンショットは通常、その一部のみをキャプチャします。
従業員の年俸をクエリします(フィールドは数学演算に参加できます)
。empからename、sal * 12を選択します。
クエリ結果の列の名前を変更しますか?
empからの年次としてename、sal * 12を選択します;
エイリアスに中国語?
select ename、sal * 12 as
Annual Salary from emp; //間違ったselectename、sal * 12 as'annual salary 'from emp;
注:標準のSQLステートメントでは、文字列を一重引用符で囲む必要があります。mysqlは二重引用符をサポートしていますが、使用しないようにしてください。
asキーワードは省略できますか?
select empno、ename、sal * empから12年;
すべてのフィールドにクエリを実行しますか?
select * from emp;
実際の開発での使用はお勧めできません。また、効率が低くなります。
注:このセクションでMySQLが使用するデータベースbjpowernodeコードは次のとおりです。直接実行して、データベースファイルを生成できます。
DROP TABLE IF EXISTS EMP;
DROP TABLE IF EXISTS DEPT;
DROP TABLE IF EXISTS SALGRADE;
CREATE TABLE DEPT
(DEPTNO int(2) not null ,
DNAME VARCHAR(14) ,
LOC VARCHAR(13),
primary key (DEPTNO)
);
CREATE TABLE EMP
(EMPNO int(4) not null ,
ENAME VARCHAR(10),
JOB VARCHAR(9),
MGR INT(4),
HIREDATE DATE DEFAULT NULL,
SAL DOUBLE(7,2),
COMM DOUBLE(7,2),
primary key (EMPNO),
DEPTNO INT(2)
)
;
CREATE TABLE SALGRADE
( GRADE INT,
LOSAL INT,
HISAL INT );
INSERT INTO DEPT ( DEPTNO, DNAME, LOC ) VALUES (
10, 'ACCOUNTING', 'NEW YORK');
INSERT INTO DEPT ( DEPTNO, DNAME, LOC ) VALUES (
20, 'RESEARCH', 'DALLAS');
INSERT INTO DEPT ( DEPTNO, DNAME, LOC ) VALUES (
30, 'SALES', 'CHICAGO');
INSERT INTO DEPT ( DEPTNO, DNAME, LOC ) VALUES (
40, 'OPERATIONS', 'BOSTON');
commit;
INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,
DEPTNO ) VALUES (
7369, 'SMITH', 'CLERK', 7902, '1980-12-17'
, 800, NULL, 20);
INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,
DEPTNO ) VALUES (
7499, 'ALLEN', 'SALESMAN', 7698, '1981-02-20'
, 1600, 300, 30);
INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,
DEPTNO ) VALUES (
7521, 'WARD', 'SALESMAN', 7698, '1981-02-22'
, 1250, 500, 30);
INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,
DEPTNO ) VALUES (
7566, 'JONES', 'MANAGER', 7839, '1981-04-02'
, 2975, NULL, 20);
INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,
DEPTNO ) VALUES (
7654, 'MARTIN', 'SALESMAN', 7698, '1981-09-28'
, 1250, 1400, 30);
INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,
DEPTNO ) VALUES (
7698, 'BLAKE', 'MANAGER', 7839, '1981-05-01'
, 2850, NULL, 30);
INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,
DEPTNO ) VALUES (
7782, 'CLARK', 'MANAGER', 7839, '1981-06-09'
, 2450, NULL, 10);
INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,
DEPTNO ) VALUES (
7788, 'SCOTT', 'ANALYST', 7566, '1987-04-19'
, 3000, NULL, 20);
INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,
DEPTNO ) VALUES (
7839, 'KING', 'PRESIDENT', NULL, '1981-11-17'
, 5000, NULL, 10);
INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,
DEPTNO ) VALUES (
7844, 'TURNER', 'SALESMAN', 7698, '1981-09-08'
, 1500, 0, 30);
INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,
DEPTNO ) VALUES (
7876, 'ADAMS', 'CLERK', 7788, '1987-05-23'
, 1100, NULL, 20);
INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,
DEPTNO ) VALUES (
7900, 'JAMES', 'CLERK', 7698, '1981-12-03'
, 950, NULL, 30);
INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,
DEPTNO ) VALUES (
7902, 'FORD', 'ANALYST', 7566, '1981-12-03'
, 3000, NULL, 20);
INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,
DEPTNO ) VALUES (
7934, 'MILLER', 'CLERK', 7782, '1982-01-23'
, 1300, NULL, 10);
commit;
INSERT INTO SALGRADE ( GRADE, LOSAL, HISAL ) VALUES (
1, 700, 1200);
INSERT INTO SALGRADE ( GRADE, LOSAL, HISAL ) VALUES (
2, 1201, 1400);
INSERT INTO SALGRADE ( GRADE, LOSAL, HISAL ) VALUES (
3, 1401, 2000);
INSERT INTO SALGRADE ( GRADE, LOSAL, HISAL ) VALUES (
4, 2001, 3000);
INSERT INTO SALGRADE ( GRADE, LOSAL, HISAL ) VALUES (
5, 3001, 9999);
commit;