Terdapat kata kunci dalam mysql. Mysql menyediakan pelbagai kata kunci: 1. ANTARA, digunakan untuk menanyakan julat masa atau nombor selepas pernyataan WHERE 2. CALL, digunakan untuk memanggil prosedur tersimpan; CURRENT_DATE, untuk mendapatkan tarikh semasa; tarikh semasa Masa; 5. CURRENT_USER, mengembalikan nama pengguna MYSQL 6. CURSOR, digunakan untuk mengisytiharkan kursor dalam mysql 7. DISTINCT, digunakan untuk membuang data pendua;
Persekitaran pengendalian tutorial ini: sistem windows7, versi mysql8, komputer Dell G3.
Apabila menggunakan MySQL, secara amnya cuba elakkan menggunakan kata kunci sebagai nama jadual Jika anda menggunakan kata kunci sebagai nama jadual, anda perlu menambah [] (atau ") pada pernyataan SQL mengikut penulisan standard untuk membezakan medan. nama dan nama jadual
Semua kata kunci MySQL disenaraikan di bawah, dengan harapan dapat memberikan bantuan rujukan untuk rakan yang menggunakan MySQL
ADD | ALL | ALTER |
ANALYZE | AND | AS |
ASC | ASENSITIVE | BEFORE |
BETWEEN | BIGINT | BINARY |
BLOB | BOTH | BY |
CALL | CASCADE | CASE |
CHANGE | CHAR | CHARACTER |
CHECK | COLLATE | COLUMN |
CONDITION | CONNECTION | CONSTRAINT |
CONTINUE | CONVERT | CREATE |
CROSS | CURRENT_DATE | CURRENT_TIME |
CURRENT_TIMESTAMP | CURRENT_USER | CURSOR |
DATABASE | DATABASES | DAY_HOUR |
DAY_MICROSECOND | DAY_MINUTE | DAY_SECOND |
DEC | DECIMAL | DECLARE |
DEFAULT | DELAYED | DELETE |
DESC | DESCRIBE | DETERMINISTIC |
DISTINCT | DISTINCTROW | p |
DOUBLE | DROP | DUAL |
EACH | ELSE | ELSEIF |
ENCLOSED | ESCAPED | EXISTS |
EXIT | EXPLAIN | FALSE |
FETCH | FLOAT | FLOAT4 |
FLOAT8 | FOR | FORCE |
FOREIGN | FROM | FULLTEXT |
GOTO | GRANT | GROUP |
HAVING | HIGH_PRIORITY | HOUR_MICROSECOND |
HOUR_MINUTE | HOUR_SECOND | IF |
IGNORE | IN | INDEX |
INFILE | INNER | INOUT |
INSENSITIVE | INSERT | INT |
INT1 | INT2 | INT3 |
INT4 | INT8 | INTEGER |
INTERVAL | INTO | IS |
ITERATE | JOIN | KEY |
KEYS | KILL | LABEL |
LEADING | LEAVE | LEFT |
LIKE | LIMIT | LINEAR |
LINES | LOAD | LOCALTIME |
LOCALTIMESTAMP | LOCK | LONG |
LONGBLOB | LONGTEXT | LOOP |
LOW_PRIORITY | MATCH | MEDIUMBLOB |
MEDIUMINT | MEDIUMTEXT | MIDDLEINT |
MINUTE_MICROSECOND | MINUTE_SECOND | MOD |
MODIFIES | NATURAL | NOT |
NO_WRITE_TO_BINLOG | NULL | NUMERIC |
ON | OPTIMIZE | OPTION |
OPTIONALLY | OR | ORDER |
OUT | OUTER | OUTFILE |
PRECISION | PRIMARY | PROCEDURE |
PURGE | RAID0 | RANGE |
READ | READS | REAL |
REFERENCES | REGEXP | RELEASE |
RENAME | REPEAT | REPLACE |
REQUIRE | RESTRICT | RETURN |
REVOKE | RIGHT | RLIKE |
SCHEMA | SCHEMAS | SECOND_MICROSECOND |
SELECT | SENSITIVE | SEPARATOR |
SET | SHOW | SMALLINT |
SPATIAL | SPECIFIC | SQL |
SQLEXCEPTION | SQLSTATE | SQLWARNING |
SQL_BIG_RESULT | SQL_CALC_FOUND_ROWS | SQL_SMALL_RESULT |
SSL | STARTING | STRAIGHT_JOIN |
TABLE | TERMINATED | THEN |
TINYBLOB | TINYINT | TINYTEXT |
TO | TRAILING | TRIGGER |
TRUE | UNDO | UNION |
UNIQUE | UNLOCK | UNSIGNED |
UPDATE | USAGE | USE |
USING | UTC_DATE | UTC_TIME |
UTC_TIMESTAMP | VALUES | VARBINARY |
VARCHAR | VARCHARACTER | VARYING |
WHEN | WHERE | WHILE |
WITH | WRITE | X509 |
XOR | YEAR_MONTH | ZEROFILL |
Berikut ialah senarai fungsi kata kunci mysql biasa
Kata kunci | Fungsi |
---|---|
ANALYZE | Dengan Analyse Table statement The indeks boleh dibaiki. Gunakan "SHOW INDEX FROM 表名 " untuk melihat status indeks dalam jadual Apabila bilangan nilai yang berbeza dalam medan jauh lebih besar daripada bilangan KARDINALITI dalam jadual, indeks pada dasarnya tidak mempunyai kesan pada masa ini "ANALYZE TABLE 表名 " untuk membaiki indeks dan gunakan " SHOW INDEX FROM 表名 " Anda boleh melihat bahawa indeks KARDINALITI kembali kepada normal |
ANTARA | Gunakan pertanyaan julat masa atau nombor selepas WHERE, seperti pertanyaan "SELECT * FROM USER WHERE CREATE BETWEEN '2020-11-20' AND '2020-11-30' ;" Data adalah antara ke-20 dan ke-30 Jika jenis masa ialah DATETIME, julat pertanyaan ialah 00:00:00 kenyataan, jika CREATE_TIME adalah daripada jenis DATETIME, julat pertanyaan ialah "2020-11-20 00:00:00 hingga 2020-11-30 00:00:00" |
CALL | digunakan untuk memanggil prosedur tersimpan, seperti :CALL showUser()
|
CASCADE | ditambah selepas kekangan. Selepas menetapkan, apabila jadual utama dipadamkan atau dikemas kini, jadual hamba juga akan dikendalikan, contohnya: "CONSTRAINT '用户信息' FOREIGN KEY (USER_NAME) REFERENCES TASK.USER (NAME) ON DELETE CASCADE ON UPDATE CASCADE " , selepas menambah, apabila nama pengguna diubah suai dalam jadual pengguna, nama pengguna daripada jadual akan juga diubah suai |
CURRENT_DATE | digunakan untuk mendapatkan tarikh hari ini, seperti "SELECT CURRENT_DATE " Apa yang dikembalikan ialah tarikh hari |
CURRENT_TIME | digunakan untuk mendapatkan masa semasa Contohnya, "SELECT CURRENT_TIME " mengembalikan jam, minit dan saat semasa |
. DEFAULT CURRENT_TIMESTAMP | Apabila membuat medan masa, jika anda menambah kod ini untuk mewakili data baharu, masa semasa akan disisipkan secara lalai semasa membuat medan: "create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP " |
KEMASKINI CURRENT_TIMESTAMP | Jika anda menambah kod ini semasa mencipta medan masa, ini bermakna masa semasa akan disegerakkan secara lalai apabila mengubah suai data: "update_time timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP ". |
CURRENT_USER | Mengembalikan nama pengguna MYSQL |
KURSOR | digunakan untuk mengisytiharkan kursor dalam mysql dan digunakan dalam prosedur tersimpan Bertindak sebagai penunjuk, penggunaan: "DECLARE 游标名称 CURSOR FRO 查询出的结果集 " |
DECLARE | digunakan untuk mengisytiharkan pembolehubah dalam pernyataan majmuk, seperti prosedur tersimpan, anda boleh menggunakan SET 变量名 = 值 Tetapkan semula nilai dengan cara ini, dalam contoh, hasil 1 ialah "ujian", dan hasil 1(2) ialah "ujian 1" |
DELAYED | digunakan untuk menggunakan operasi sisipan tertunda , apabila melaksanakan pernyataan yang diisytiharkan oleh DELAYED, pangkalan data akan mula-mula mengembalikan maklumat status, kemudian meletakkan operasi sisipan ke dalam baris gilir, tunggu arahan yang tidak mengendalikan data baris gilir , dan kemudian mula melaksanakan baris gilir |
DESCRIBE | digunakan untuk melihat reka bentuk terperinci medan dalam jadual data Terdapat dua kegunaan: 1. DESCRIBE 表名 Lihat semua medan.2. DESCRIBE 表名 字段名 digunakan untuk melihat medan secara individu |
DISTINCT | untuk mengalih keluar data pendua Hanya data yang dinyahduplikasi boleh dikembalikan, yang mesti menjadi yang pertama dalam Medan pertanyaan sering digunakan untuk menanyakan berapa banyak keping data unik yang terdapat dalam medan tertentu.Contohnya, SELECT COUNT(DISTINCT name) FROM user
|
DITINCTROW | digunakan untuk penduaan dalam pertanyaan jadual bersama Ia boleh menanyakan data lampiran yang berkaitan dalam jadual utama tanpa menyertakan yang berkaitan pertanyaan. Data yang tidak berkaitan dengan jadual utama, seperti SELECT DISTINCTROW user.id ,untitled.friend_name FROM user INNER JOIN untitled ON user.id = untitled.friend_id WHERE user.id = '1'; , anda boleh bertanya ID pengguna dan nama rakan dalam jadual tanpa tajuk yang berkaitan, tidak termasuk rakan pengguna yang tidak ditanya |
DROP | digunakan terutamanya untuk memadam struktur, seperti memadam pangkalan data: DROP DATABASE 数据库名 , memadam jadual: DROP TABLE 表名 , memadam medan: ALTER TABLE 表名 DROP 字段名
|
harus digunakan: |
SELECT 1 1 SELECT 1 1 FROM DUAL DUAL完全是为了方便那些要求所有SELECT语句都应该有FROM或other子句的人 WUJUD | digunakan selepas WHERE Operasi penghakiman mengembalikan nilai Boolean Kaedah penggunaan adalah untuk menggantikan baris yang sedia ada ke dalam pertanyaan dalam untuk pengesahan mengembalikan satu atau lebih baris data, data baris ini akan menjadi output Jika tidak, jika tiada data dalam pertanyaan dalaman, tiada data akan dikeluarkan Data baris ini, seperti:
SELECT * FROM user u WHERE EXISTS(SELECT * FROM untitled n WHERE n.friend_id=u.id) JELASKAN | digunakan untuk menyemak pelaksanaan SQL, sama ada indeks telah ditambah atau sama ada imbasan jadual penuh telah dilakukan, dsb. Cara menggunakan: Tambah sebelum SELECT, seperti |
FULLTEXTEXPLAIN SELECT * FROM user
| Indeks teks penuh, digunakan untuk mengoptimumkan kelajuan pertanyaan, anda boleh menambah |
Ia perlu diingat bahawa apabila menambah indeks, enjin jadual mesti menggunakan MyISAM, jika tidak, ralat akan dilaporkan |
FULLTEXT(字段1, 字段2) ALTER TABLE 表名 ADD FULLTEXT INDEX 索引名 ( ) GRANTThe used table type doesn't support FULLTEXT indexes
| digunakan untuk operasi kebenaran pengguna dan boleh diberi kuasa Terdapat banyak cara untuk memberi kebenaran pengguna atau memadamkan kebenaran pengguna, seperti:
CREATE USER 'testUser'@'host' IDENTIFIED BY '123456'; KUMPULAN show grants for 'testUser'@'host';
| Digunakan untuk operasi pengelompokan, |
GROUP BY 字段名 HAVINGSELECT friend_name , COUNT(friend_name) FROM untitled GROUP BY friend_name
| digunakan untuk menapis data selepas pengagregatan. Perbezaan dari WHERE ialah WHERE menapis data sebelum pengagregatan dan tidak boleh menggunakan fungsi agregat seperti COUNT. , SUM, dsb. HAVING digunakan untuk menapis data selepas pengagregatan Fungsi pengagregatan boleh digunakan untuk penapisan seterusnya, contohnya: |
KEUTAMAAN_TINGGISELECT friend_name , COUNT(friend_name) FROM untitled GROUP BY friend_name HAVING COUNT(friend_name) >1
| digunakan untuk penyataan SELECT dan INSERT, mengisytiharkan bahawa operasi ini ialah operasi keutamaan tinggi dan pangkalan data akan melakukan operasi sedemikian terlebih dahulu, seperti: |
ABAIKAN | selalunya digunakan untuk mengabaikan data ralat semasa memasukkan dalam kelompok, seperti: INSERT IGNORE INTO user (id,name,age) values(6,'pangqi',25); Jika id kunci utama sudah wujud, tiada ralat akan dilaporkan, tetapi operasi sisipan seterusnya akan dilakukan |
INNER | digunakan untuk pertanyaan inner join Selepas menetapkan syarat ON, semua data yang memenuhi syarat akan dipaparkan dan join kanan ialah INNER tidak mempunyai fokus, mysql Semua data yang memenuhi syarat akan ditemui, jadi berhati-hati untuk tidak menyebabkan produk Cartesian apabila menggunakannya Selain itu, kerana INNER ialah kaedah sambungan lalai mysql, anda boleh meninggalkan Kata kunci INNER seperti: SELECT * FROM user JOIN untitled ON user.id = untitled.friend_id
|
INTERVAL | digunakan terutamanya untuk selang masa, seperti: SELECT * FROM USER where create_time < NOW()-INTERVAL 4 DAY mengembalikan data yang dibuat empat hari lalu Anda boleh juga menggantikan DAY dengan jam, minit, tahun, bulan, dll. Ia juga boleh digunakan untuk membandingkan data Contohnya: SELECT INTERVAL(6,1,2,3,4,7,8,9,10) akan mengembalikan 4, kerana apabila membandingkan, mysql akan menggunakan data dengan indeks 0 untuk membandingkan data seterusnya. . Apabila data seterusnya lebih besar daripada data dengan indeks 0, mysql akan mengembalikan Indeks data sebelumnya |
IS | Kata kunci IS dalam mysql hanya digunakan dalam IS NULL atau IS NOT NULL seperti: SELECT * FROM USER where update_time IS NULL |
SERTAI | digunakan untuk menyertai dua jadual Kaedah sambungan termasuk sambung dalaman INNER JOIN , betul join RIGHT JOIN , left join LEFT JOIN |
KEY | KEY ialah struktur fizikal pangkalan data, yang mempunyai dua peringkat makna dan fungsi: 1: Kekangan , 2: Indeks, seperti pengisytiharan kunci utama PRIMARY KEY (id), , yang akan mempunyai kedua-dua kekangan unik dan Indeks |
BUNUH | akan ditambah secara automatik untuk ditamatkan utas dalam mysql Anda boleh menggunakan SHOW PROCESSLIST untuk melihat utas yang sedang berjalan dan menggunakan KILL 线程id untuk menamatkan utas Terdapat dua pengubah suai 1: SAMBUNGAN Pengubah suai lalai boleh menamatkan semua sambungan yang berkaitan dengan id utas, 2: QUERY menamatkan pernyataan yang sedang dilaksanakan, tetapi tidak akan menamatkan sambungan |
LABEL | Label penyata |
TINGGALKAN | Pernyataan Cuti menunjukkan keluar dari blok pernyataan kawalan aliran label yang ditentukan, biasanya digunakan dalam permulaan...akhir, dan gelung, Dalam penyataan gelung ulangan dan sementara, ia sama seperti putus dalam pengaturcaraan ialah fungsi LEAVE 循环名; |
LEFT | LEFT() ialah fungsi rentetan ia mengembalikan bahagian kiri rentetan dengan panjang yang ditentukan.Contohnya: SELECT LEFT(name,3) FROM user |
LIKE | digunakan untuk carian kabur dan boleh digunakan bersama % dan _, % mewakili pertanyaan satu atau lebih kad bebas dan _ mewakili satu Aksara, seperti: SELECT * FROM user WHERE name LIKE '%i' boleh menanyakan semua data yang berakhir dengan i dalam nama Selepas menggantikan % dengan _, syarat pertanyaan menjadi menanyakan data yang berakhir dengan i dalam nama dan didahului dengan hanya satu aksara | .
LIMIT | digunakan untuk pertanyaan paging, seperti: SELECT * FROM user LIMIT 4,5 Parameter pertama ialah nombor permulaan Dalam contoh di atas, ia mula kembali dari bahagian ke-4 data, dan parameter kedua ialah Seperti yang ditunjukkan dalam contoh di atas, parameter ofset ialah 5, yang bermaksud mengembalikan 5 data terakhir daripada item ke-4 Offset sebelumnya boleh menjadi -1 untuk mewakili semua data selepas nombor permulaan pertanyaan , tetapi kaedah penulisan ini diiktiraf secara rasmi oleh MySQL sebagai A error, jadi versi mysql yang lebih baru tidak boleh digunakan. 🎜> waktu tempatan, yang boleh digunakan untuk medan Hasil pertanyaan, di mana keadaan, masa semasa semasa memasukkan, masa semasa mengemas kini, dll. MySQL mempunyai pelbagai fungsi masa Anda boleh memilih fungsi yang berbeza mengikut keperluan anda 🎜> |
KUNCI | Mengunci dan membuka kunci jadual dalam MySQL membolehkan sesi pelanggan memperoleh kunci jadual secara eksplisit untuk menyelaraskan akses kepada jadual dengan sesi lain, atau untuk menghalang sesi lain daripada mengubah suai jadual apabila sesi memerlukan akses eksklusif bersama. Sesi hanya boleh memperoleh atau melepaskan kunci untuk dirinya sendiri. Sesi tidak boleh memperoleh kunci daripada sesi lain, mahupun melepaskan kunci yang dipegang oleh sesi lain. Contoh: SELECT LOCALTIME,NOW(),sysdate(), localtimestamp, localtimestamp(); Pada masa ini, operasi kunci meja akan berlaku Semua operasi untuk mengubah suai jadual akan ditolak dan menggesa: | Anda boleh menggunakan kata kunci
<🎜. > | KEUTAMAAN_RENDAHLOCK table user read local Keutamaan rendah, MySQL membenarkan anda menukar keutamaan penjadualan penyata, yang membolehkan pertanyaan daripada berbilang pelanggan bekerjasama dengan lebih baik supaya pelanggan tunggal tidak menunggu lama kerana mengunci . Biasanya digunakan dalam kenyataan DELETE, INSERT, LOAD DATA, REPLACE dan UPDATE, sebagai contoh: Table 'user' was locked with a READ lock and can't be updated Dalam kes ini, jika pembaca kedua tiba semasa penulis sedang menunggu, maka pembaca kedua dibenarkan dimasukkan sebelum penulis . Penulis dibenarkan memulakan operasi hanya apabila tiada pembaca lain. |
MOD | fungsi baki, seperti: select mod(12,5) Kembalikan baki 2 |
NATURAL | Gabungan semula jadi ialah jenis JOIN Ia dicirikan oleh pemadanan rekod automatik bagi medan dengan nama yang sama dalam jadual Jenis medan ini dengan nama yang sama boleh berbeza, jadi jenis medan dalam jadual boleh berbeza. Ia boleh digunakan dalam INNER, LEFT dan JOIN lain , Contoh: select * from user NATURAL LEFT JOIN user2 Perbezaan antara pengguna dan pengguna2 di sini ialah sebagai tambahan kepada id, 1 akan ditambah selepas medan pengguna2, yang akan menyebabkan id menjadi secara automatik. digunakan untuk perkaitan semasa menyambung, dan hasilnya memang sama |
OPTIMASI | Fungsi: Optimumkan dan atur pemecahan jadual dan indeks Apabila pangkalan data menyimpan data, pangkalan data akan memperuntukkan ruang jadual dan indeks kepada data Apabila data dipadamkan, pangkalan data tidak akan menuntut semula sumber ini tetapi Menunggu data baharu untuk mengisi jurang ini, gunakan kata kunci OPTIMIZE untuk mengosongkan sumber yang diduduki secara aktif: optimize table 表名称 |
julat | Partition: Berdasarkan julat selang tertentu memerlukan nilai medan ini dalam selang yang diberikan berterusan. partition akan diambil, yang boleh meningkatkan kecekapan dengan banyak Keperluan ialah jika jadual mempunyai kunci utama, medan partition juga harus berada dalam kekunci utama Baris dan lajur, penggunaan: penyataan penciptaan jadual PARTITION BY RANGE (xuehao) (. PARTITION p0 NILAI KURANG DARIPADA (6), PARTITION p1 NILAI KURANG DARIPADA (11), PARTITION p2 NILAI KURANG DARIPADA (16), PARTITION p3 NILAI KURANG DARIPADA (21) ; 🎜> | Ungkapan biasa, anda boleh menggunakan ungkapan biasa dalam keadaan untuk beroperasi, gunakan
NAMA SEMULA | Untuk mengubah suai nama jadual, gunakan: namakan semula jadual pengguna2 kepada pengguna3;<code>rename table user2 to user3; |
ULANG | Salin data yang diberikan sebagai rentetan bilangan kali yang ditentukan Contohnya: select REPEAT(3,3) Hasilnya ialah "333"<🎜. > |
Ganti semua rentetan yang ditentukan, seperti: | select REPLACE('这是一个字符串,或者是一个字符','一个','两个'); |
Batalkan kebenaran yang telah diberikan kepada pengguna MySQL, seperti: | Ingat untuk memuat semula jadual kebenaran pengguna selepas selesai revoke all on *.* from testUser@host; FLUSH PRIVILEGES; |
Potong rentetan, seperti: < kod>pilih KANAN ('Ini adalah rentetan',5) | , akan memintas bilangan digit yang ditentukan dalam rentetan dalam susunan terbalikselect RIGHT('这是一个字符串',5) |
pertanyaan kabur, yang berbeza daripada seperti Bila, kandungan rlike boleh menjadi biasa dan mungkin tidak sepadan dengan tepat, seperti: | select * from user where email RLIKE '^www.*$'; |
boleh menggabungkan hasil pertanyaan ke dalam satu baris dengan rentetan menentukan penyambung dan perlu digunakan dengan GROUP BY, seperti: | |
Jika medan nama adalah sama semasa pertanyaan sambungan, ia boleh digunakan sebagai syarat sambungan, menggunakan Ia boleh muncul dan bukannya hidup, seperti: | select * from user left join students USING(quanxian) |
Kata kunci pernyataan gelung, digunakan untuk penyimpanan Semasa proses, ia perlu digunakan dalam kombinasi dengan pernyataan kawalan proses, seperti: | CREATE PROCEDURE fun() BEGIN SET @sum:=10; WHILE @sum > 0 DO SELECT @sum; SET @sum:=@sum-1; END WHILE; END CALL fun(); DROP PROCEDURE fun |
XOR | mewakili logik eksklusif OR Apabila mana-mana operan adalah NULL, nilai pulangan adalah NULL . Untuk operan bukan NULL, jika dua nilai logik benar dan salah adalah berbeza, hasil pulangan ialah 1 , jika tidak ia adalah 0, seperti: |
select true XOR null;select true XOR true;select true XOR false; [Cadangan berkaitan: | tutorial video mysql|
Atas ialah kandungan terperinci Adakah terdapat kata kunci dalam mysql?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!