SQL cheat Sheet

SQL cheat Sheet Intro na Imahe


Sa gabay na ito, makakahanap ka ng isang kapaki-pakinabang na cheat sheet na dokumento ang ilan sa mga mas karaniwang ginagamit na elemento ng SQL, at kahit na ilan sa mga hindi gaanong pangkaraniwan. Inaasahan, makakatulong ito sa mga developer – parehong nagsisimula at nakaranas na antas – maging mas mahusay sa kanilang pag-unawa sa wika ng SQL.

Gamitin ito bilang isang mabilis na sanggunian sa panahon ng pag-unlad, isang tulong sa pag-aaral, o kahit na i-print ito at itali kung nais mo (kahit anong gumagana!).

Ngunit bago tayo makarating sa cheat sheet mismo, para sa mga developer na maaaring hindi pamilyar sa SQL, magsimula tayo sa …

Ano ang SQL

Ang SQL ay nakatayo para sa Structured Query Language. Ito ang wika na pinili sa web ngayon para sa pag-iimbak, pagmamanipula at pagkuha ng data sa loob ng mga database ng relational. Karamihan, kung hindi lahat ng mga website na binibisita mo ay gagamitin ito sa ilang paraan, kasama na ito isa.

Narito kung ano ang hitsura ng isang pangunahing relational database. Halimbawa nito sa mga partikular na tindahan ng impormasyon sa e-commerce, partikular ang mga produkto na nabebenta, ang mga gumagamit na bumili ng mga ito, at mga tala ng mga order na ito na nag-uugnay sa mga 2 entity na ito.

Isang pangunahing database ng kaugnayan

Gamit ang SQL, magagawa mong makipag-ugnay sa database sa pamamagitan ng pagsusulat ng mga query, na kapag naisagawa, ibabalik ang anumang mga resulta na nakakatugon sa pamantayan nito.

Narito ang isang halimbawa ng query:-

PUMILI * MULA sa mga gumagamit;

Gamit ang pahayag na ito PILI, pinipili ng query ang lahat ng data mula sa lahat ng mga haligi sa talahanayan ng gumagamit. Pagkatapos ay ibabalik ang data tulad ng nasa ibaba, na karaniwang tinatawag na set ng mga resulta:-

Halimbawa ng talahanayan ng mga gumagamit

Kung papalitan namin ang character na asterisk wildcard (*) na may mga tukoy na pangalan ng haligi, tanging ang mga data mula sa mga haligi na ito ay ibabalik mula sa query.

PILIONG first_name, last_name MULA sa mga gumagamit;

Mga halimbawa ng talahanayan ng mga gumagamit na may nabawasan na mga haligi

Maaari kaming magdagdag ng isang maliit na pagiging kumplikado sa isang karaniwang PILI na pahayag sa pamamagitan ng pagdaragdag ng isang SAAN sugnay, na nagbibigay-daan sa iyo upang i-filter kung ano ang makakabalik.

PUMILI * MULA SA mga produktong SAAN stock_count <= 10 ORDER BY stock_count ASC;

Ibabalik ng query na ito ang lahat ng data mula sa talahanayan ng mga produkto na may isang halaga ng stock_count na mas mababa sa 10 sa mga itinakdang resulta.

Ang paggamit ng keyword ng ORDER BY ay nangangahulugan na ang mga resulta ay uutusan sa paggamit ng haligi ng stock_count, pinakamababang halaga sa pinakamataas.

Halimbawa ng talahanayan ng mga produkto

Gamit ang pahayag na INSERT INTO, maaari kaming magdagdag ng mga bagong data sa isang talahanayan. Narito ang isang pangunahing halimbawa ng pagdaragdag ng isang bagong gumagamit sa talahanayan ng mga gumagamit:-

Mga gumagamit ng INSERT INTO (first_name, last_name, address, email)
VALUES ('Tester', 'Jester', '123 Fake Street, Sheffield, United Kingdom', '[protektado ng email]');

Pagkatapos kung susulahin mo ang query upang maibalik ang lahat ng data mula sa talahanayan ng gumagamit, ganito ang hitsura ng mga resulta:

Halimbawa ng talahanayan na may bagong hilera

Siyempre, ang mga halimbawang ito ay nagpapakita lamang ng isang napakaliit na pagpipilian ng kung ano ang kaya ng wikang SQL.

SQL vs MySQL

Maaaring narinig mo na ang MySQL dati. Mahalaga na hindi mo malito ito sa SQL mismo, dahil may malinaw na pagkakaiba.

SQL vs MySQLSQL ay ang wika. Binalangkas nito ang syntax na nagbibigay-daan sa iyo upang magsulat ng mga query na namamahala sa mga database ng pamanggit. Wala nang iba pa.

MySQL samantala ay isang database sistema tumatakbo sa isang server. Ito nagpapatupad ang wika ng SQL, na nagpapahintulot sa iyo na magsulat ng mga query gamit ang syntax nito upang pamahalaan ang mga database ng MySQL.

Bilang karagdagan sa MySQL, mayroong iba pang mga system na nagpapatupad ng SQL. Ang ilan sa mga mas sikat na kasama ay:

  • PostgreSQL
  • SQLite
  • Oracle Database
  • Microsoft SQL Server

Pag-install ng MySQL

Windows

Ang inirekumendang paraan upang mai-install ang MySQL sa Windows ay sa pamamagitan ng paggamit ng installer na maaari mong i-download mula sa MySQL website.

I-install ang MySQL Windows

Mac OS

Sa macOS, ang inirekumendang paraan upang mai-install ang MySQL ay gumagamit ng mga katutubong pakete, na mukhang mas kumplikado kaysa sa aktwal na ito. Mahalaga, nagsasangkot din ito sa pag-download ng isang installer.

I-install ang MySQL Mac

Bilang kahalili, Kung mas gusto mong gumamit ng mga tagapamahala ng package tulad ng Homebrew, maaari mong mai-install ang MySQL tulad nito:

magluto ng serbesa mysql

Habang kailangan mong mag-install ng mas matandang bersyon ng MySQL 5.7, na malawakang ginagamit ngayon sa web, maaari mong:

i-install ang serbesa [protektado ng email]

Paggamit ng MySQL

Sa pamamagitan ng MySQL na naka-install ngayon sa iyong system, upang makakuha ng up at mabilis hangga't maaari sa pagsulat ng mga query sa SQL, inirerekumenda na gumamit ka ng isang application ng SQL management upang gawin ang pamamahala ng iyong mga database ng isang mas simple, mas madaling proseso.

Mayroong maraming mga app na pipiliin kung saan higit sa lahat gawin ang parehong trabaho, kaya't sa iyong sariling personal na kagustuhan kung saan gagamitin ng isa:

  • MySQL Workbench ay binuo ng Oracle, ang may-ari ng MySQL.
  • HeidiSQL (Inirerekumendang Windows) ay isang libre, bukas na mapagkukunan ng app para sa Windows. Para sa mga gumagamit ng macOS at Linux, Alak ay kinakailangan muna bilang isang paunang kinakailangan.
  • phpMyAdmin ay isang napakapopular na alternatibo na nagpapatakbo sa web browser.
  • Sequel Pro (Inirerekumendang macOS) ay isang alternatibo lamang ng macOS at ang aming paboritong salamat sa malinaw at madaling gamitin na interface.

Kapag handa kang magsimulang magsulat ng iyong sariling mga query sa SQL, sa halip na gumastos ng oras sa paglikha ng iyong sariling database, isaalang-alang ang pag-import ng dummy data sa halip.

Ang MySQL website ay nagbibigay ng isang bilang ng mga database ng dummy na maaari mong i-download nang walang bayad at pagkatapos ay i-import sa iyong SQL app.

Dummy Database MySQL

Ang aming mga paboritong ito ay ang mundo database, na nagbibigay ng ilang mga kagiliw-giliw na data upang magsanay ng pagsusulat ng mga query sa SQL para sa. Narito ang isang screenshot ng talahanayan ng bansa sa loob ng Sequel Pro.

Sequel Pro Halimbawa

Ang halimbawang query na ito ay nagbabalik sa lahat ng mga bansa kasama si Queen Elizabeth II bilang kanilang pinuno ng estado ����.

Sequel Pro Halimbawa

Habang ang isang ito ay nagbabalik sa lahat ng mga bansang Europa na may populasyon na higit sa 50 milyon milyon kasama ang kanilang kabisera ng lungsod at populasyon nito.

Sequel Pro Halimbawa

At ang panghuling ito ay nagbabalik ng average na porsyento ng mga nagsasalita ng Pransya sa mga bansa kung saan ang kabuuang bilang ng mga nagsasalita ng Pranses ay mas mataas kaysa sa 10%.

Sequel Pro Halimbawa

Impostor na Sheet

Mga keyword

Isang koleksyon ng mga keyword na ginamit sa mga pahayag ng SQL, isang paglalarawan, at kung saan naaangkop na halimbawa. Ang ilan sa mga mas advanced na mga keyword ay may sariling nakalaang seksyon sa paglaon sa cheat sheet.

Kung saan ang MySQL ay nabanggit sa tabi ng isang halimbawa, nangangahulugan ito na ang halimbawang ito ay naaangkop lamang sa mga database ng MySQL (kumpara sa anumang iba pang sistema ng database).

SQL Keyword
KeywordPaglalarawan
ADDNagdaragdag ng isang bagong haligi sa isang umiiral na talahanayan.

Halimbawa: Nagdaragdag ng isang bagong haligi na nagngangalang 'email_address' sa isang mesa na may pangalang 'mga gumagamit'.

Mga gumagamit ng ALTER TABLE
ADD email_address varchar (255);
ADD CONSTRAINTLumilikha ito ng isang bagong pagpilit sa isang umiiral na talahanayan, na ginagamit upang tukuyin ang mga patakaran para sa anumang data sa talahanayan.

Halimbawa: Nagdaragdag ng isang bagong PRIMARY KEY pagpilit na nagngangalang 'user' sa mga haligi ID at SURNAME.

Mga gumagamit ng ALTER TABLE
ADD CONSTRAINT user PRIMARY KEY (ID, SURNAME);
TALAGA TALAGANagdaragdag, nagtatanggal o nag-edit ng mga haligi sa isang talahanayan. Maaari rin itong magamit upang magdagdag at magtanggal ng mga hadlang sa isang talahanayan, tulad ng bawat nasa itaas.

Halimbawa: Nagdaragdag ng isang bagong haligi ng boolean na tinatawag na 'naaprubahan' sa isang mesa na may pangalang 'deal'.

ALTER TABLE deal
Inaprubahan ng ADD ang boolean;

Halimbawa 2: Tinatanggal ang kolum na 'naaprubahan' mula sa talahanayan ng 'deal'

ALTER TABLE deal
DROP COLUMN naaprubahan;
ALTER COLUMNBinago ang uri ng data ng haligi ng talahanayan.

Halimbawa: Sa talahanayan ng 'mga gumagamit, gawin ang kolum na' incept_date 'sa isang' datetime 'na uri.

Mga gumagamit ng ALTER TABLE
ALTER COLUMN incept_date pangmatagalan;
LAHATNagbabalik ang totoo kung ang lahat ng mga halaga ng subquery ay nakakatugon sa lumipas na kondisyon.

Halimbawa: Ibinabalik ang mga gumagamit na may mas mataas na bilang ng mga gawain kaysa sa gumagamit na may pinakamataas na bilang ng mga gawain sa departamento ng HR (id 2)

PILIONG first_name, apelyido, gawain_no
MULA sa mga gumagamit
SAAN mga gawain_no> LAHAT (PUMILI ng mga gawain MULA sa gumagamit SAAN department_id = 2);
ATGinamit upang sumali sa magkahiwalay na mga kondisyon sa loob ng SAAN sugnay.

Halimbawa: Nagbabalik ng mga kaganapan na matatagpuan sa London, United Kingdom

PUMILI * MULA sa mga kaganapan
SAAN host_country = 'United Kingdom' AT host_city = 'London';
ANUMANGNagbabalik ang totoo kung ang alinman sa mga halaga ng subquery ay nakakatugon sa ibinigay na kondisyon.

Halimbawa: Ibinabalik ang mga produkto mula sa talahanayan ng mga produkto na nakatanggap ng mga order - na nakaimbak sa talahanayan ng mga order - na may dami ng higit sa 5.

PILI ang pangalan
MULA sa mga produkto
SAAN produktoId = ANUMANG (PILIONG produktoId MULA SA mga order SAAN dami> 5);
ASPalitan ang pangalan ng isang talahanayan o haligi na may isang halaga ng alias na mayroon lamang para sa tagal ng query.

Halimbawa: Mga Aliases north_east_user_suberlas na haligi

PILI ang hilaga_east_user_subscribe AS ne_subs
MULA sa mga gumagamit
SAAN ne_subs> 5;
ASCGinamit gamit ang ORDER BY upang ibalik ang data sa pataas na pagkakasunud-sunod.

Halimbawa: Mga mansanas, saging, mga milokoton, Radyo

SABIHINPumipili ng mga halaga sa loob ng naibigay na saklaw.

Halimbawa 1: Pumipili ng stock na may dami sa pagitan ng 100 at 150.

PUMILI * MULA sa stock
SAAN dami ng ANUMANG 100 AT 150;

Halimbawa 2: Pumipili ng stock na may dami HINDI sa pagitan ng 100 at 150. Bilang kahalili, gamit ang HINDI keyword dito baligtarin ang lohika at pumili ng mga halaga sa labas ng naibigay na saklaw.

PUMILI * MULA sa stock
SAAN ang dami AY HINDI MAKA-100 AT 150;
KASOBaguhin ang output ng query depende sa mga kondisyon.

Halimbawa: Ibinabalik ang mga gumagamit at ang kanilang mga subscription, kasama ang isang bagong haligi na tinatawag na activity_levels na gumagawa ng paghuhukom batay sa bilang ng mga subscription.

PILIONG first_name, apelyido, mga suskrisyon
KASABAHAN kung kailan ang mga subscription> 10 THEN 'Aktibo'
KAPAG DAHILAN NG BANAT 3 AT 10 NA ANG 'Aktibo'
'Di-aktibo' ang ELSE
END AS na aktibidad_level
MULA sa mga gumagamit;
PAGSUSULITNagdaragdag ng isang hadlang na naglilimita sa halaga na maaaring idagdag sa isang haligi.

Halimbawa 1 (MySQL): Ginagawa siguraduhin na ang anumang mga gumagamit na naidagdag sa talahanayan ng mga gumagamit ay 18 o higit pa.

CREATE TABLE mga gumagamit (
first_name varchar (255),
edad int,
PAGSUSULIT (edad> = 18)
);

Halimbawa 2 (MySQL): Nagdaragdag ng isang tseke matapos na ang mesa ay nalikha na.

Mga gumagamit ng ALTER TABLE
ADD CHECK (edad> = 18);
GAWAIN ANG DATABASELumilikha ng isang bagong database.

Halimbawa: Lumilikha ng isang bagong database na may pangalang 'websitesetup'.

CREATE DATABASE websitesetup;
GAWAIN ANG TABLELumilikha ng isang bagong mesa .

Halimbawa: Lumilikha ng isang bagong talahanayan na tinatawag na 'mga gumagamit' sa 'websitesetup' database.

CREATE TABLE mga gumagamit (
id int,
first_name varchar (255),
apelyido varchar (255),
address varchar (255),
contact_number int
);
DEFAULTNaglalagay ng isang default na halaga para sa isang haligi;

Halimbawa 1 (MySQL): Lumilikha ng isang bagong talahanayan na tinawag na Mga Produkto na may haligi ng pangalan na may default na halaga ng 'Pangalan ng Placeholder' at isang magagamit_from na haligi na may default na halaga ng petsa ngayon.

CREATE TABLE mga produkto (
id int,
pangalan ng varchar (255) DEFAULT 'Pangalan ng Placeholder',
magagamit_mula sa petsa ng DEFAULT GETDATE ()
);

Halimbawa 2 (MySQL): Ang parehong bilang sa itaas, ngunit ang pag-edit ng isang umiiral na mesa.

Mga produkto ng ALTER TABLE
ALTER name SET DEFAULT 'Pangalan ng Placeholder',
ALTER magagamit_mula sa SET DEFAULT GETDATE ();
MABILISTanggalin ang data mula sa isang talahanayan.

Halimbawa: Tinatanggal ang isang gumagamit na may isang user_id ng 674.

TAWAGAN MULA SA mga gumagamit KUNG saan user_id = 674;
DESCGinamit gamit ang ORDER BY upang ibalik ang data sa pababang pagkakasunud-sunod.

Halimbawa: Raddish, Mga milokoton, saging, mansanas

DROP COLUMNTinatanggal ang isang haligi mula sa isang talahanayan.

Halimbawa: Tinatanggal ang haligi ng first_name mula sa talahanayan ng mga gumagamit.

Mga gumagamit ng ALTER TABLE
DROP COLUMN first_name
DATABAS NG DROPTinatanggal ang buong database.

Halimbawa: Tinatanggal ang isang database na nagngangalang 'websitesetup'.

DROP DATABASE websitesetup;
MAGPAPATAYAN NG DROPTinatanggal ang isang default na halaga para sa isang haligi.

Halimbawa (MySQL): Tinatanggal ang default na halaga mula sa kolum ng 'pangalan' sa talahanayan ng 'mga produkto'.

Mga produkto ng ALTER TABLE
ALTER COLUMN pangalan DROP DEFAULT;
TUMBOKTinatanggal ang isang mesa mula sa isang database.

Halimbawa: Tinatanggal ang talahanayan ng mga gumagamit.

DROP TABLE mga gumagamit;
MGA HALIMBAWAAng mga pagsusuri para sa pagkakaroon ng anumang tala sa loob ng subquery, pagbabalik ng totoo kung ang isa o higit pang mga tala ay naibalik.

Halimbawa: Listahan ng anumang mga dealership na may isang porsyento sa pakikitungo sa pakikitungo mas mababa sa 10.

PILI ang dealership_name
MULA sa mga mangangalakal
SAAN ANG MGA HALIMBAWA (PILIONG deal_name MULA sa mga deal Nasaan ang dealership_id = deal.dealership_id AT finance_percentage < 10);
MULATinutukoy kung aling talahanayan ang pipiliin o tanggalin ang data.

Halimbawa: Pumili ng data mula sa talahanayan ng mga gumagamit.

PILIONG area_manager
MULA sa mga area_managers
SAAN KAHALAGAHAN (PUMILI NG Produkto Mula sa Mga Produkto SAAN area_manager_id = deal.area_manager_id AT Presyo < 20);
SAGinamit sa tabi ng isang SAAN sugnay bilang isang shorthand para sa maraming mga kundisyon O.

Kaya sa halip na:-

PUMILI * MULA sa mga gumagamit
SAAN bansa = 'USA' O bansa = 'United Kingdom' O bansa = 'Russia' O bansa = 'Australia';

Pwede mong gamitin:-

PUMILI * MULA sa mga gumagamit
SAAN bansa SA ('USA', 'United Kingdom', 'Russia', 'Australia');
IPASOK SAMagdagdag ng mga bagong hilera sa isang mesa.

Halimbawa: Nagdaragdag ng isang bagong sasakyan.

INSERT INTO mga kotse (gumawa, modelo, agwat ng mga milya, taon)
VALUES ('Audi', 'A3', 30000, 2016);
AY WALANG BISAPagsubok para sa mga walang halaga (NULL) na halaga.

Halimbawa: Ibinabalik ang mga gumagamit na hindi binigyan ng contact number.

PUMILI * MULA sa mga gumagamit
SAAN contact_number AY Null;
HINDI NULIAng baligtad ng Null. Mga pagsubok para sa mga halagang hindi walang laman / Null.
KATULADNagbabalik totoo kung ang halaga ng operand ay tumutugma sa isang pattern.

Halimbawa: Babalik ang totoo kung ang first_name ng gumagamit ay nagtatapos sa 'anak'.

PUMILI * MULA sa mga gumagamit
SAAN first_name LIKE '% anak';
HINDIMagbabalik ng totoo kung ang isang tala ay hindi nakakatugon sa kundisyon.

Halimbawa: Babalik ang totoo kung ang first_name ng gumagamit ay hindi magtatapos sa 'anak'.

PUMILI * MULA sa mga gumagamit
SAAN first_name HINDI KUMITA '% anak';
OGinamit sa tabi ng SAAN upang isama ang data kung ang alinman sa kondisyon ay totoo.

Halimbawa: Ibinabalik ang mga gumagamit na nakatira sa alinman sa Sheffield o Manchester.

PUMILI * MULA sa mga gumagamit
SAAN lungsod = 'Sheffield' O 'Manchester';
INIUTOS NIGinamit upang ayusin ang data ng resulta sa pataas (default) o pababang pagkakasunud-sunod sa pamamagitan ng paggamit ng mga keyword ng ASC o DESC.

Halimbawa: Ibinabalik ang mga bansa sa pagkakasunud-sunod ng alpabeto.

PUMILI * MULA sa mga bansa
ORDER NG pangalan;
ROWNUMIbinabalik ang mga resulta kung saan ang numero ng hilera ay nakakatugon sa lumipas na kondisyon.

Halimbawa: Ibinabalik ang nangungunang 10 bansa mula sa talahanayan ng mga bansa.

PUMILI * MULA sa mga bansa
SAAN ROWNUM <= 10;
PAGPILIGinamit upang pumili ng data mula sa isang database, na pagkatapos ay ibabalik sa isang set ng mga resulta.

Halimbawa 1: Pinipili ang lahat ng mga haligi mula sa lahat ng mga gumagamit.

PUMILI * MULA sa mga gumagamit;

Halimbawa 2: Pumili ng first_name at apelyido ng mga haligi mula sa lahat ng mga gumagamit.xx

PILIONG first_name, apelyido MULA sa mga gumagamit;
PAGPAPILI DISTINCTAng mga Sames bilang PUMILI, maliban sa mga dobleng halaga ay hindi kasama.

Halimbawa: Lumilikha ng isang backup na talahanayan gamit ang data mula sa talahanayan ng mga gumagamit.

PUMILI * INTO mga gumagamitBackup2020
MULA sa mga gumagamit;
PUMILI SA INTOKinokopya ang data mula sa isang talahanayan at ipinasok ito sa isa pa.

Halimbawa: Ibinabalik ang lahat ng mga bansa mula sa talahanayan ng mga gumagamit, tinatanggal ang anumang mga dobleng halaga (na magiging mataas na posibilidad)

PUMILI DISTINCT bansa mula sa mga gumagamit;
PUMILI SA PAKSAPinapayagan kang ibalik ang isang hanay ng mga tala upang bumalik mula sa isang talahanayan.

Halimbawa: Ibinabalik ang nangungunang 3 kotse mula sa talahanayan ng mga kotse.

PUMILI SA Tuktok 3 * MULA sa mga kotse;
ITAKDAGinamit sa tabi ng UPDATE upang i-update ang umiiral na data sa isang talahanayan.

Halimbawa: Ina-update ang halaga at dami ng halaga para sa isang order na may id ng 642 sa talahanayan ng mga order.

I-UPDATE ang mga order
Halaga ng SET = 19.49, dami = 2
SAAN id = 642;
ILANGPareho sa ANUMANG.
PangunahingGinamit sa tabi ng PILI upang ibalik ang isang hanay ng mga rekord mula sa isang talahanayan.

Halimbawa: Ibinabalik ang nangungunang 5 mga gumagamit mula sa talahanayan ng mga gumagamit.

PUMILI SA Tuktok 5 * MULA sa mga gumagamit;
TRABAHO TABLEKatulad sa DROP, ngunit sa halip na tanggalin ang talahanayan at ang data nito, tinatanggal lamang nito ang data.

Halimbawa: Inilalabas ang talahanayan ng sesyon, ngunit iniiwan ang mesa mismo.

TRANCATE TABLE session;
UNIONPinagsasama ang mga resulta mula sa 2 o higit pang mga PILIONG pahayag at bumalik lamang ang natatanging mga halaga.

Halimbawa: Ibinabalik ang mga lungsod mula sa mga kaganapan at mga talahanayan ng mga tagasuskribi.

PILIONG lungsod MULA sa mga kaganapan
UNION
PUMILI ng lungsod mula sa mga tagasuskribi;
UNION LAHATAng parehong bilang ng UNION, ngunit may kasamang mga dobleng halaga.
UNIQUETinitiyak ng pagpilit na ito na ang lahat ng mga halaga sa isang haligi ay natatangi.

Halimbawa 1 (MySQL): Nagdaragdag ng isang natatanging pagpilit sa haligi ng id kapag lumilikha ng isang talahanayan ng mga bagong gumagamit.

CREATE TABLE mga gumagamit (
id int HINDI NULI,
pangalan varchar (255) HINDI NULO,
UNIQUE (id)
);

Halimbawa 2 (MySQL): Nagbabago ng isang umiiral na haligi upang magdagdag ng isang hadlang sa UNIQUE.

Mga gumagamit ng ALTER TABLE
ADD UNIQUE (id);
I-UPDATEIna-update ang umiiral na data sa isang talahanayan.

Halimbawa: Ina-update ang mileage at serviceDue halaga para sa isang sasakyan na may id ng 45 sa talahanayan ng mga kotse.

I-UPDATE ang mga kotse
I-set ang mileage = 23500, serviceDue = 0
SAAN id = 45;
VALUESGinamit sa tabi ng INSERT INTO keyword upang magdagdag ng mga bagong halaga sa isang talahanayan.

Halimbawa: Nagdaragdag ng isang bagong kotse sa talahanayan ng mga kotse.

Mga kotse sa INSERT INTO (pangalan, modelo, taon)
VALUES ('Ford', 'Fiesta', 2010);
SAANAng mga resulta ng mga filter ay isasama lamang ang data na nakakatugon sa ibinigay na kondisyon.

Halimbawa: Ibinabalik ang mga order na may dami ng higit sa 1 item.

PUMILI * MULA sa mga order
SAAN dami> 1;

Mga Komento

Pinapayagan ka ng mga komento na maipaliwanag ang mga seksyon ng iyong mga pahayag sa SQL, o upang magkomento ng code at maiwasan ang pagpapatupad nito.

Sa SQL, mayroong 2 uri ng mga puna, solong linya at multiline.

Mga Komento ng Single Line

Nagsisimula ang mga komento ng solong linya sa -. Ang anumang teksto pagkatapos ng mga 2 character na ito sa dulo ng linya ay hindi papansinin.

-- Ang aking query sa Piliin
PUMILI * MULA sa mga gumagamit;

Mga Komento ng Multiline

Nagsimula ang maraming mga komento sa / * at nagtatapos sa * /. Nagtatawid sila ng maraming linya hanggang sa natagpuan ang mga pagsasara ng mga character.

/ *
Ito ang aking piling query.
Kinukuha nito ang lahat ng mga hilera ng data mula sa talahanayan ng mga gumagamit
* /
PUMILI * MULA sa mga gumagamit;

/ *
Ito ay isa pang piling query, na hindi ko nais na isagawa pa

PUMILI * MULA SA mga gawain;
* /

Mga Uri ng Data ng MySQL

Kapag lumilikha ng isang bagong talahanayan o pag-edit ng isang umiiral na, dapat mong tukuyin ang uri ng data na tinatanggap ng bawat haligi.

Sa halimbawa sa ibaba, ang data na naipasa sa haligi ng id ay dapat maging isang int, samantalang ang first_name na haligi ay may isang uri ng data ng VARCHAR na may maximum na 255 character.

CREATE TABLE mga gumagamit (
id int,
first_name varchar (255)
);

Mga Uri ng Data ng String

Mga Uri ng Data ng String
Uri ng datosPaglalarawan
CHAR (laki)Nakatakdang haba ng string na maaaring maglaman ng mga titik, numero at mga espesyal na character. Ang laki ng parameter ay nagtatakda ng maximum na haba ng string, mula 0 - 255 na may default na 1.
VARCHAR (laki)Ang variable na haba ng string na katulad ng CHAR (), ngunit may isang maximum na haba ng haba ng string mula 0 hanggang 65535.
BINARY (laki)Katulad sa CHAR () ngunit nag-iimbak ng mga binuong string ng byte.
VARBINARY (laki)Katulad sa VARCHAR () ngunit para sa mga binary byte strings.
TINYBLOBHawak ng Binary Malaking Object (BLOB) na may maximum na haba ng 255 byte.
TINYTEXTMay hawak na isang string na may maximum na haba ng 255 character. Gumamit ng VARCHAR () sa halip, dahil mas mabilis itong nakuha.
TEXT (laki)May hawak na isang string na may maximum na haba ng 65535 byte. Muli, mas mahusay na gumamit ng VARCHAR ().
BLOB (laki)May hawak na Binary Malalaking Object (BLOB) na may maximum na haba ng 65535 byte.
MEDIUMTEXTMay hawak na isang string na may maximum na haba ng 16,777,215 character.
MEDIUMBLOBMay hawak na Binary Malalaking Object (BLOB) na may maximum na haba ng 16,777,215 byte.
LONGTEXTMay hawak na isang string na may maximum na haba ng 4,294,967,295 character.
LONGBLOBHawak ng Binary Malalaking Object (BLOB) na may maximum na haba ng 4,294,967,295 byte.
ENUM (a, b, c, atbp.))Ang isang string object na mayroon lamang isang halaga, na napili mula sa isang listahan ng mga halaga na iyong tinukoy, hanggang sa isang maximum na 65535 na halaga. Kung idinagdag ang isang halaga na wala sa lista na ito, papalitan ito ng isang blangkong halaga sa halip. Mag-isip ng ENUM na katulad sa mga kahon ng radio ng HTML sa bagay na ito.

Gumawa ng mga tshirt na TABLE (kulay ENUM ('pula', 'berde', 'asul', 'dilaw', 'lila'));
SET (a, b, c, atbp.))Isang bagay na string na maaaring magkaroon ng 0 o higit pang mga halaga, na pinili mula sa isang listahan ng mga halaga na iyong tinukoy, hanggang sa isang maximum na 64 na mga halaga. Isipin ang SET na katulad ng mga HTML box na may kaugnayan dito.

Mga Uri ng Data ng Mga Numero

Mga Uri ng Data ng String
Uri ng datosPaglalarawan
BIT (laki)Ang isang uri ng kaunting halaga na may default na 1. Ang pinapayagan na bilang ng mga piraso sa isang halaga ay itinakda sa pamamagitan ng laki ng parameter, na maaaring humawak ng mga halaga mula 1 hanggang 64.
TINYINT (laki)Ang isang napakaliit na integer na may naka-sign na saklaw ng -128 hanggang 127, at isang hindi naka -ignign na saklaw ng 0 hanggang 255. Dito, tinukoy ng laki ng laki ang maximum na pinapayagan na lapad ng pagpapakita, na 255.
BOOLMahalagang isang mabilis na paraan ng pagtatakda ng haligi sa TINYINT na may sukat na 1. 0 ay itinuturing na mali, habang ang 1 ay itinuturing na totoo.
BOOLEANParehong bilang BOOL.
SMALLINT (laki)Ang isang maliit na integer na may naka-sign na saklaw ng -32768 hanggang 32767, at isang hindi naka -ignign na saklaw mula 0 hanggang 65535. Dito, tinukoy ng laki ng laki ang maximum na pinapayagan na lapad ng pagpapakita, na 255.
MEDIUMINT (laki)Ang isang medium integer na may naka-sign na saklaw ng -8388608 hanggang 8388607, at isang hindi naka -ignign na saklaw mula 0 hanggang 16777215. Dito, tinukoy ng laki ng laki ang maximum na pinapayagan na lapad ng pagpapakita, na 255.
INT (laki)Ang isang medium integer na may naka-sign na hanay ng -2147483648 hanggang 2147483647, at isang hindi naka -ignign na saklaw mula 0 hanggang 4294967295. Dito, tinukoy ng laki ng laki ang maximum na pinapayagan na lapad ng pagpapakita, na 255.
INTEGER (laki)Parehong INT.
MALAKI (laki)Ang isang medium integer na may naka-sign na saklaw ng -9223372036854775808 hanggang 9223372036854775807, at isang hindi naka -ignign na saklaw mula 0 hanggang 18446744073709551615. Narito, ang laki ng parameter ay tinukoy ang maximum na pinapayagan na lapad ng pagpapakita, na 255.
FLOAT (p)Isang halaga ng lumulutang na numero ng punto. Kung ang parameter ng katumpakan (p) ay nasa pagitan ng 0 hanggang 24, kung gayon ang uri ng data ay nakatakda sa FLOAT (), samantalang kung mula 25 hanggang 53, ang uri ng data ay nakatakda sa DOUBLE (). Ang pag-uugali na ito ay gawing mas mahusay ang pag-iimbak ng mga halaga.
DOUBLE (laki, d)Ang isang halaga ng lumulutang na point number kung saan ang kabuuang numero ay naitakda ng laki ng parameter, at ang bilang ng mga numero matapos ang punto ng desimal ay itinakda ng d parameter.
DECIMAL (laki, d)Ang isang eksaktong nakapirming numero ng punto kung saan ang kabuuang bilang ng mga numero ay itinakda ng mga laki ng mga parameter, at ang kabuuang bilang ng mga numero pagkatapos ng punto ng desimal ay itinakda ng d parameter.

Para sa laki, ang maximum na numero ay 65 at ang default ay 10, habang ang d, ang maximum na numero ay 30 at ang default ay 10.

DEC (laki, d)Parehong DECIMAL.

Mga Uri ng Data ng Petsa / Oras

Mga Uri ng Data ng Petsa / Oras
Uri ng datosPaglalarawan
DATEIsang simpleng petsa sa format na YYYY-MM-DD, na may suportadong saklaw mula sa '1000-01-01' hanggang '9999-12-31'.
DATETIME (fsp)Ang oras ng petsa sa YYYY-MM-DD hh: mm: ss format, na may suportadong saklaw mula sa '1000-01-01 00:00:00' hanggang '9999-12-31 23:59:59'.

Sa pamamagitan ng pagdaragdag ng DEFAULT at ON UPDATE sa kahulugan ng haligi, awtomatikong nagtatakda ito sa kasalukuyang petsa / oras.

TIMESTAMP (fsp)Isang Unix Timestamp, na isang halaga na nauugnay sa bilang ng mga segundo mula sa panahon ng Unix ('1970-01-01 00:00:00' UTC). Ito ay may suportadong saklaw mula sa '1970-01-01 00:00:01' UTC hanggang '2038-01-09 03:14:07' UTC.

Sa pamamagitan ng pagdaragdag ng DEFAULT CURRENT_TIMESTAMP at SA UPDATE CURRENT TIMESTAMP sa kahulugan ng haligi, awtomatikong nagtatakda ito sa kasalukuyang petsa / oras.

TIME (fsp)Isang oras sa hh: mm: ss format, na may suportadong saklaw mula '-838: 59: 59' hanggang '838: 59: 59'.
TAONSa isang taon, na may suportadong saklaw ng '1901' hanggang '2155'.

Mga Operator

Mga Operator ng Aritmetika

Mga Operator ng Aritmetika
OperatorPaglalarawan
+Idagdag
-Ibawas
*Maramihang
/Hatiin
%Modulo

Bitwise Operator

Mga Operator ng Bitwise
OperatorPaglalarawan
&Bitwise AT
|Bitwise O
^Bitwise eksklusibo O

Mga Operator sa Paghahambing

Mga Operator sa Paghahambing
OperatorPaglalarawan
=Katumbas ng
>Mahigit sa
<Mas mababa sa
> =Mas malaki kaysa sa o katumbas ng
<=Mas mababa sa o katumbas ng
<>Hindi kapareho ng

Mga Compound Operator

Mga Compound Operator
OperatorPaglalarawan
+=Magdagdag ng mga katumbas
-=Ibawas ang katumbas
* =Maramihang katumbas
/ =Hatiin ang katumbas
% =Katumbas ang modulo
& =Bitwise AT katumbas
^ - =Bitwise eksklusibo katumbas
| * =Bitwise O katumbas

Mga Pag-andar

Mga Pag-andar ng String

Mga Pag-andar ng String
PangalanPaglalarawan
ASCIIIbinabalik ang katumbas na halaga ng ASCII para sa isang tiyak na karakter.
CHAR_LENGTHIbinabalik ang haba ng character ng isang string.
CHARACTER_LENGTHParehong bilang CHAR_LENGTH.
CONCATNagdaragdag ng mga expression nang magkasama, na may minimum na 2.
CONCAT_WSNagdaragdag ng mga expression nang magkasama, ngunit may isang separator sa pagitan ng bawat halaga.
FIELDIbinabalik ang isang halaga ng index na nauugnay sa posisyon ng isang halaga sa loob ng isang listahan ng mga halaga.
HANAPIN SA SETIbinabalik ang posisyon ng isang string sa isang listahan ng mga string.
FORMATKapag naipasa ang isang numero, ibabalik ang na-format na numero upang isama ang mga koma (hal. 3,400,000).
INSERTPinapayagan kang magpasok ng isang string sa isa pa sa isang tiyak na punto, para sa isang tiyak na bilang ng mga character.
INSTRIbinabalik ang posisyon sa unang pagkakataon na lumilitaw ang isang string sa loob ng isa pa.
LCASEI-convert ang isang string sa maliit na titik.
LEFTSimula sa kaliwa, kunin ang naibigay na bilang ng mga character mula sa isang string at ibalik ang mga ito bilang isa pa.
LENGTHIbinabalik ang haba ng isang string, ngunit sa mga bait.
LOKATEIbinabalik ang unang paglitaw ng isang string sa loob ng isa pa,
LAKIKapareho ng LCASE.
LPADAng mga kaliwang pad ay isang string sa isa pa, sa isang tiyak na haba.
LTRIMAlisin ang anumang nangungunang mga puwang mula sa ibinigay na string.
MIDKinukuha ang isang string mula sa isa pa, simula sa anumang posisyon.
POSISYONIbinabalik ang posisyon sa unang pagkakataon na lumilitaw ang isang substring sa loob ng isa pa.
REPEATPinapayagan kang ulitin ang isang string
REPLACEPinapayagan kang palitan ang anumang mga pagkakataon ng isang substring sa loob ng isang string, na may isang bagong substring.
REVERSEBinaligtad ang string.
KARAPATANSimula mula sa kanan, kunin ang naibigay na bilang ng mga character mula sa isang string at ibalik ang mga ito bilang isa pa.
RPADAng mga tamang pad ng isang string sa isa pa, sa isang tiyak na haba.
RTRIMTinatanggal ang anumang mga puwang sa pagtapak mula sa ibinigay na string.
SPACEIbinabalik ang isang string na puno ng mga puwang na katumbas ng halaga na ipinasa mo ito.
STRCMPInihahambing ang 2 mga string para sa mga pagkakaiba
SUBSTRKinukuha ang isang substring mula sa isa pa, simula sa anumang posisyon.
SUBSTRINGParehong bilang SUBSTR
SUBSTRING_INDEXAng pagbabalik ng isang substring mula sa isang string bago ang nakapasa na substring ay natagpuan ang bilang ng mga beses na katumbas sa nakapasa na numero.
TRIMTinatanggal ang mga trail at nangungunang puwang mula sa ibinigay na string. Parehong parang tatakbo ka ng LTRIM at RTRIM.
UCASEI-convert ang isang string sa uppercase.
UPPERParehong bilang UCASE.

Mga Pag-andar ng Numeric

Mga Pag-andar ng Numeric
PangalanPaglalarawan
ABSIbinabalik ang ganap na halaga ng naibigay na numero.
ACOSIbinabalik ang arc cosine ng naibigay na numero.
TULAD NG SAIbinabalik ang arc sine ng ibinigay na numero.
ATANIbinabalik ang arc tangent ng isa o 2 na ibinigay na numero.
ATAN2Ibalik ang arc tangent ng 2 na ibinigay na numero.
AVGIbinabalik ang average na halaga ng ibinigay na expression.
CEILIbinabalik ang pinakamalapit na buong numero (integer) paitaas mula sa isang naibigay na bilang ng panghuling punto.
PAGPAPAKITAParehong bilang CEIL.
COSIbinabalik ang kosine ng isang naibigay na numero.
COTIbinabalik ang cotangent ng isang naibigay na numero.
COUNTIbinabalik ang halaga ng mga rekord na naibalik ng isang query sa SELECT.
DEGREESNag-convert ng isang radian na halaga sa mga degree.
DIVPinapayagan kang hatiin ang mga integer.
EXPNagbabalik e sa kapangyarihan ng naibigay na numero.
FLOORIbinabalik ang pinakamalapit na buong numero (integer) pababang mula sa isang naibigay na bilang ng panghuling punto.
NAKAKAKITAIbinabalik ang pinakamataas na halaga sa isang listahan ng mga argumento.
LEASTIbinabalik ang pinakamaliit na halaga sa isang listahan ng mga argumento.
LNIbinabalik ang natural na logarithm ng ibinigay na numero
LOGIbinabalik ang natural na logarithm ng naibigay na numero, o ang logarithm ng ibinigay na numero sa naibigay na base
LOG10Ay ang parehong bilang LOG, ngunit sa base 10.
LOG2Ay ang parehong bilang LOG, ngunit sa base 2.
MAXIbinabalik ang pinakamataas na halaga mula sa isang hanay ng mga halaga.
MINIbinabalik ang pinakamababang halaga mula sa isang hanay ng mga halaga.
MODIbinabalik ang nalalabi ng naibigay na numero na hinati ng iba pang naibigay na numero.
PIBumalik ang PI.
POWIbinabalik ang halaga ng naibigay na numero sa lakas ng iba pang naibigay na numero.
KAPANGYARIHANParehong bilang POW.
RADIANSNag-convert ng halaga ng degree sa mga radian.
RANDANagbabalik ng isang random na numero.
DUMUHABilugan ang ibinigay na numero sa naibigay na halaga ng mga lugar ng desimal.
TANDAIbinabalik ang tanda ng ibinigay na numero.
SINIbinabalik ang sine ng naibigay na numero.
SQRTIbinabalik ang square root ng ibinigay na numero.
SUMIbinabalik ang halaga ng naibigay na hanay ng mga halaga na pinagsama.
KULAY-BALATIbinabalik ang tangent ng ibinigay na numero.
TRUNCATENagbabalik ng isang numero na na-truncated sa naibigay na bilang ng mga perpektong lugar.

Mga Pag-andar ng Petsa

Mga Pag-andar ng Petsa
PangalanPaglalarawan
ADDDATEMagdagdag ng agwat ng petsa (halimbawa: 10 ARAW) sa isang petsa (halimbawa: 20/01/20) at ibalik ang resulta (halimbawa: 20/01/30).
ADDTIMEMagdagdag ng agwat ng oras (halimbawa: 02:00) sa isang oras o oras (05:00) at ibalik ang resulta (07:00).
CURDATEKunin ang kasalukuyang petsa.
CURRENT_DATEParehong bilang CURDATE.
ORAS NGAYONKunin ang kasalukuyang oras.
CURRENT_TIMESTAMPKunin ang kasalukuyang petsa at oras.
CURTIMEParehong bilang CURRENT_TIME.
DATEI-extract ang petsa mula sa isang ekspresyon ng panahon.
DATEDIFFIbinabalik ang bilang ng mga araw sa pagitan ng 2 naibigay na mga petsa.
DATE_ADDParehong ADDDATE.
DATE_FORMATMga format ng petsa sa naibigay na pattern.
DATE_SUBMagbawas ng agwat ng petsa (halimbawa: 10 ARAW) sa isang petsa (halimbawa: 20/01/20) at ibalik ang resulta (hal. 20/01/10).
ARAWIbinabalik ang araw para sa naibigay na petsa.
DAYNAMEIbinabalik ang pangalan ng araw ng Linggo para sa naibigay na petsa.
ARAW SA ISANG LINGGOIbinabalik ang index para sa araw ng linggo para sa naibigay na petsa.
DAYOFYEARIbinabalik ang araw ng taon para sa naibigay na petsa.
MALAKIKuha mula sa petsa ng naibigay na bahagi (hal. BULAN para sa 20/01/20 = 01).
MULA SA ARAWIbalik ang petsa mula sa naibigay na halaga ng petsa ng numero.
ORASIbalik ang oras mula sa naibigay na petsa.
HULING ARAWKunin ang huling araw ng buwan para sa naibigay na petsa.
LOKAL NA ORASNakakakuha ng kasalukuyang lokal na oras at oras.
LOKALTIMESTAMPParehong LOCALTIME.
MAKIKITALumilikha ng isang petsa at ibabalik ito, batay sa naibigay na taon at bilang ng mga halaga ng araw.
MAKETIMELumilikha ng isang oras at ibabalik ito, batay sa naibigay na oras, minuto at pangalawang mga halaga.
MICROSECONDIbinabalik ang mikrosecond ng isang naibigay na oras o oras.
MINUTEIbinabalik ang minuto ng naibigay na oras o oras.
BULANIbinabalik ang buwan ng naibigay na petsa.
PANGALANIbinabalik ang pangalan ng buwan ng naibigay na petsa.
NGAYONParehong LOCALTIME.
PERIOD_ADDNagdaragdag ng naibigay na bilang ng mga buwan sa naibigay na panahon.
PERIOD_DIFFIbinabalik ang pagkakaiba sa pagitan ng 2 naibigay na tagal.
TANONGIbinabalik ang quarter quarter para sa naibigay na petsa.
IKALAWANGIbinabalik ang pangalawa ng isang naibigay na oras o oras.
SEC_TO_TIMENagbabalik ng oras batay sa ibinigay na mga segundo.
STR_TO_DATELumilikha ng isang petsa at ibabalik ito batay sa ibinigay na string at format.
SUBDATEParehong bilang DATE_SUB.
SUBTIMESumailalim sa isang agwat ng oras (halimbawa: 02:00) sa isang oras o oras (05:00) at ibalik ang resulta (03:00).
PAGSIMULAParehong LOCALTIME.
PANAHONIbinabalik ang oras mula sa isang naibigay na oras o oras.
TIME_FORMATIbinabalik ang naibigay na oras sa naibigay na format.
TIME_TO_SECNag-convert at bumalik sa isang oras sa loob ng ilang segundo.
TIMEDIFFIbinabalik ang pagkakaiba sa pagitan ng 2 naibigay na oras / mga oras na expression.
TIMESTAMPIbinabalik ang halaga ng huling oras ng naibigay na petsa o pangmatagalan.
TO_DAYSIbinabalik ang kabuuang bilang ng mga araw na lumipas mula sa '00 -00-0000 'hanggang sa naibigay na petsa.
LINGGOIbinabalik ang numero ng linggo para sa naibigay na petsa.
LINGGOIbinabalik ang numero ng araw ng Linggo para sa naibigay na petsa.
WEEKOFYEARIbinabalik ang numero ng linggo para sa naibigay na petsa.
TAONIbinabalik ang taon mula sa naibigay na petsa.
YEARWEEKIbinabalik ang numero ng taon at linggo para sa naibigay na petsa.

Maling Pag-andar

Maling Pag-andar
PangalanPaglalarawan
BINIbinabalik ang ibinigay na numero sa binary.
BINARYIbinabalik ang ibinigay na halaga bilang isang binary string.
CASTI-convert ang isang uri sa iba pang.
PAGSUSULITMula sa isang listahan ng mga halaga, ibalik ang unang halaga na hindi null.
CONNECTION_IDPara sa kasalukuyang koneksyon, ibalik ang natatanging ID ng koneksyon.
CONVI-convert ang ibinigay na numero mula sa isang numeric base system sa isa pa.
KONSEPI-convert ang ibinigay na halaga sa naibigay na datatype o set ng character.
GUMAGAMIT NGAYONIbalik ang gumagamit at hostname na ginamit upang mapatunayan sa server.
DATABASEKunin ang pangalan ng kasalukuyang database.
GROUP NGGinamit kasama ang mga pinagsama-samang function (COUNT, MAX, MIN, SUM, AVG) upang pag-grupo ang mga resulta.

Halimbawa: Listahan ng bilang ng mga gumagamit na may mga aktibong order.

PUMILI NG COUNT (user_id), active_order
MULA sa mga gumagamit
GROUP NG aktibong_order;
PAGKAKITAGinagamit ito sa lugar ng WHERE na may mga function na pinagsama-sama.

Halimbawa: Listahan ng bilang ng mga gumagamit na may mga aktibong order, ngunit isama lamang ang mga gumagamit na may higit sa 3 aktibong mga order.

PUMILI NG COUNT (user_id), active_order
MULA sa mga gumagamit
GROUP NG aktibong_order
HAVING COUNT (user_id)> 3;
KUNGKung ang kundisyon ay tunay na bumalik ng isang halaga, kung hindi man ibabalik ang isa pang halaga.
IFNULLKung ang ibinigay na expression ay katumbas ng walang bisa, ibalik ang naibigay na halaga.
AY WALANG BISAKung ang expression ay walang bisa, bumalik 1, kung hindi man bumalik 0.
LAST_INSERT_IDPara sa huling hilera na idinagdag o na-update sa isang talahanayan, ibalik ang auto increment ID.
NullIFInihahambing ang 2 na ibinigay na expression. Kung sila ay pantay-pantay, ang Null ay ibabalik, kung hindi man ang unang expression ay ibabalik.
SESYON_USERIbalik ang kasalukuyang gumagamit at hostnames.
SYSTEM_USERParehong bilang SESSION_USER.
USERParehong bilang SESSION_USER.
VERSIONIbinabalik ang kasalukuyang bersyon ng MySQL na nagbibigay lakas sa database.

Mga character na Wildcard

Sa SQL, ang mga Wildcards ay mga espesyal na character na ginamit sa LIKE at HINDI GUSTO ang mga keyword na nagbibigay-daan sa amin upang maghanap ng data na may sopistikadong mga pattern nang mas mahusay

Mga Wildcards
PangalanPaglalarawan
%Binubuo sa zero o higit pang mga character.

Halimbawa 1: Hanapin ang lahat ng mga gumagamit na may mga apelyido na nagtatapos sa 'son'.

PUMILI * MULA sa mga gumagamit
SAAN ang apelyido LIKE '% anak';

Halimbawa 2: Hanapin ang lahat ng mga gumagamit na nakatira sa mga lungsod na naglalaman ng pattern na 'che'

PUMILI * MULA sa mga gumagamit
SAAN lungsod gusto '% che%';
_Naghahambing sa anumang solong character.

Halimbawa: Hanapin ang lahat ng mga gumagamit na nakatira sa mga lungsod na nagsisimula sa anumang 3 character, na sinusundan ng 'chester'.

PUMILI * MULA sa mga gumagamit
SAAN lungsod gusto '___chester';
[charlist]Katumbas ng anumang solong character sa listahan.

Halimbawa 1: Hanapin ang lahat ng mga gumagamit na may mga unang pangalan na nagsisimula sa J, H o M.

PUMILI * MULA sa mga gumagamit
SAAN first_name LIKE '[jhm]%';

Halimbawa 2: Hanapin ang lahat ng mga gumagamit na may mga unang pangalan na nagsisimula ng mga titik sa pagitan ng A - L.

PUMILI * MULA sa mga gumagamit
SAAN first_name LIKE '[a-l]%';

Halimbawa 3: Hanapin ang lahat ng mga gumagamit na may mga unang pangalan na hindi nagtatapos sa mga titik sa pagitan ng n - s.

PUMILI * MULA sa mga gumagamit
SAAN first_name LIKE '% [! N-s]';

Mga susi

Sa mga database ng relational, mayroong isang konsepto ng pangunahing at dayuhang mga susi. Sa mga talahanayan ng SQL, ang mga ito ay kasama bilang mga hadlang, kung saan ang isang mesa ay maaaring magkaroon ng pangunahing key, isang dayuhang susi, o pareho.

Pangunahing susi

Pinapayagan ng isang pangunahing key ang bawat tala sa isang talahanayan na natukoy na natatangi. Maaari lamang magkaroon ng isang pangunahing susi sa bawat talahanayan, at maaari mong italaga ang pagpipilit na ito sa anumang solong o pagsasama ng mga haligi. Gayunpaman, nangangahulugan ito na ang bawat halaga sa loob ng mga hanay na ito ay dapat na natatangi.

Karaniwan sa isang talahanayan, ang pangunahing susi ay isang haligi ng ID, at karaniwang ipinares sa keyword na AUTO_INCREMENT. Nangangahulugan ito na awtomatikong tataas ang halaga habang nilikha ang mga bagong tala.

Halimbawa 1 (MySQL)

Lumikha ng isang bagong talahanayan at itakda ang pangunahing susi sa haligi ng ID.

CREATE TABLE mga gumagamit (
id int HINDI NULO AUTO_INCREMENT,
first_name varchar (255),
last_name varchar (255) HINDI Null,
address varchar (255),
email varchar (255),
PRIMARY KEY (id)
);

Halimbawa 2 (MySQL)

Baguhin ang isang umiiral na talahanayan at itakda ang pangunahing susi sa haligi ng first_name.

Mga gumagamit ng ALTER TABLE
ADD PRIMARY KEY (first_name);

Dayuhang susi

Ang isang dayuhang susi ay maaaring mailapat sa isang haligi o marami at ginagamit upang maiugnay ang 2 mga talahanayan sa isang liblib na database.

Tulad ng nakikita sa diagram sa ibaba, ang talahanayan na naglalaman ng dayuhang susi ay tinatawag na bata key, habang ang talahanayan na naglalaman ng isinangguni na susi, o susi ng kandidato, ay tinawag na talahanayan ng magulang.

MySQL Keys

Mahalagang ito ay nangangahulugan na ang data ng haligi ay ibinahagi sa pagitan ng 2 talahanayan, dahil ang isang dayuhang susi ay pinipigilan din ang hindi wastong data mula sa pagpasok na hindi naroroon din sa talahanayan ng magulang.

Halimbawa 1 (MySQL)

Lumikha ng isang bagong talahanayan at i-on ang anumang mga haligi na tumutukoy sa mga ID sa iba pang mga talahanayan sa mga dayuhang key.

CREATE TABLE order (
id int HINDI NULI,
user_id int,
produkto_id int,
PRIMARY KEY (id),
FOREIGN KEY (user_id) mga gumagamit ng REFERENCES (id),
FOREIGN KEY (product_id) mga produktong REFERENCES (id)
);

Halimbawa 2 (MySQL)

Baguhin ang isang umiiral na talahanayan at lumikha ng isang susi na dayuhan.

Mga order ng ALTER TABLE
ADD FOREIGN KEY (user_id) mga gumagamit ng REFERENCES (id);

Mga Index

Ang mga index ay mga katangian na maaaring italaga sa mga haligi na madalas na hinanap laban sa paggawa ng data ng pagkuha ng mas mabilis at mas mahusay na proseso.

Hindi ito nangangahulugang ang bawat haligi ay dapat gawin sa isang index bagaman, dahil mas matagal para sa isang haligi na may isang index na mai-update kaysa sa isang haligi na wala. Ito ay dahil kapag na-update ang mga haligi, ang index mismo ay dapat ding ma-update.

Mga Index
PangalanPaglalarawan
GAWAIN ANG INDEXLumilikha ng isang index na nagngangalang 'idx_test' sa first_name at apelyido ng mga talahanayan ng mga gumagamit. Sa pagkakataong ito, pinapayagan ang mga dobleng halaga.
CREATE INDEX idx_test
SA mga gumagamit (first_name, apelyido);
GAWAIN ang UNIQUE INDEXAng parehong bilang sa itaas, ngunit walang mga dobleng halaga.

GAWAIN ang UNIQUE INDEX idx_test
SA mga gumagamit (first_name, apelyido);
DROP INDEXTinatanggal ang isang index.

Mga gumagamit ng ALTER TABLE
DROP INDEX idx_test;

Sumali

Sa SQL, ginagamit ang isang sugnay na sugnay upang maibalik ang isang set ng mga resulta na pinagsasama ang data mula sa maraming mga talahanayan, batay sa isang karaniwang haligi na itinampok sa kanilang dalawa.

Mayroong isang bilang ng mga iba't ibang mga sumali na magagamit para sa iyo upang magamit:-

  • Sumali sa loob (Default): Ibinabalik ang anumang mga talaan na may mga halagang tumutugma sa parehong mga talahanayan.
  • Kaliwang Sumali: Ibinabalik ang lahat ng mga rekord mula sa unang talahanayan, kasama ang anumang mga tala na tumutugma mula sa pangalawang talahanayan.
  • Kanan Sumali: Ibinabalik ang lahat ng mga tala mula sa pangalawang talahanayan, kasama ang anumang mga tala na tumutugma mula sa una.
  • Buong Sumali: Ibinabalik ang lahat ng mga tala mula sa parehong mga talahanayan kapag may tugma.

Ang isang pangkaraniwang paraan ng paggunita kung paano sumali ang trabaho tulad nito:

Sumali sa MySQL

Sa sumusunod na halimbawa, ang isang panloob na pagsali ay gagamitin upang lumikha ng isang bagong view ng pinag-isang pinagsasama ang mga order ng talahanayan at pagkatapos ng 3 magkakaibang mga talahanayan

Papalitan namin ang user_id at product_id sa mga first_name at apelyido ng mga gumagamit na naglagay ng order, kasama ang pangalan ng item na binili.

Ang Talahanayan ng Halimbawa ng MySQL

PUMILI ng mga order.id, mga gumagamit.first_name, mga gumagamit.surname, mga produkto.name bilang 'pangalan ng produkto'
MULA sa mga order
INNER SUMALI ang mga gumagamit sa mga order.user_id = users.id
INNER SUMALI mga produkto sa mga order.product_id = mga produkto.id;

Ibabalik ang isang set ng mga resulta na mukhang:

Ang Talahanayan ng Halimbawa ng MySQL

Tingnan

Ang isang pagtingin ay mahalagang isang set ng mga resulta ng SQL na maiimbak sa database sa ilalim ng isang label, kaya maaari mong bumalik ito sa ibang pagkakataon, nang hindi kinakailangang muling ibalik ang query. Lalo na kapaki-pakinabang ang mga ito kapag mayroon kang isang magastos na query sa SQL na maaaring kailanganin ng maraming beses, kaya sa halip na patakbuhin ito nang paulit-ulit upang makabuo ng parehong mga set ng mga resulta, magagawa mo lamang itong isang beses at i-save ito bilang isang view.

Paglikha ng mga Pananaw

Upang lumikha ng isang view, magagawa mo ito tulad ng:

CREATE VIEW priority_users AS
PUMILI * MULA sa mga gumagamit
SAAN bansa = 'United Kingdom';

Pagkatapos sa hinaharap, kung kailangan mong ma-access ang naka-imbak na set ng resulta, magagawa mo ito tulad nito:

PINILI * MULA sa [priority_users];

Pagpapalit ng Mga Pananaw

Gamit ang utos CREATE O REPLACE, maaaring ma-update ang isang view.

Lumikha O O REPLACE VIEW [priority_users] AS
PUMILI * MULA sa mga gumagamit
SAAN bansa = 'United Kingdom' O bansa = 'USA';

Tinatanggal ang Mga Pananaw

Upang matanggal ang isang view, gamitin lamang ang utos ng DROP VIEW.

DROP VIEW priority_users;

Konklusyon

Ang karamihan ng mga website sa web database ng relational na ngayon sa ilang paraan. Ginagawa nitong mahalagang malaman ang SQL, dahil pinapayagan ka nitong lumikha ng mas kumplikado, functional na mga website at system.

Siguraduhin na i-bookmark ang pahinang ito, kaya sa hinaharap, kung nagtatrabaho ka sa SQL at hindi matandaan ang isang tiyak na operator, kung paano sumulat ng isang tiyak na query, o nalilito lamang tungkol sa kung paano sumali sa trabaho, pagkatapos ay magkakaroon ka isang cheat sheet sa kamay na handa, handa at makakatulong.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map