1. Trang chủ
  2. » Công Nghệ Thông Tin

MySQL cơ bản from zero to hero

12 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 12
Dung lượng 191,03 KB

Nội dung

MySQL form Zero to Hero 1 SQL là gì SQL (Structured Query Language) là ngôn ngữ chuẩn dùng để tạo, thao túng, nhận dữ liệu từ database MySQL là một hệ quản trị CSDL quan hệ mà dùng SQL làm chuẩn 2 Creating Database and Table A Create Database Cách tạo 1 Database Syntax CREATE DATABASE name db; Sẽ tạo một db mới với tên là name db Ta có thể dùng câu lệnh SHOW DATABASES; để hiển thị danh sách db Cách xóa 1 Database Syntax DROP DATABASE name db; Cách USE 1 database cụ thể Syntax USE name db; Câu lệ.

MySQL form Zero to Hero SQL - SQL (Structured Query Language) ngôn ngữ chuẩn dùng để tạo, thao túng, nhận liệu từ database MySQL hệ quản trị CSDL quan hệ mà dùng SQL làm chuẩn Creating Database and Table A Create Database - Cách tạo Database o Syntax : CREATE DATABASE name_db; o Sẽ tạo db với tên name_db o Ta dùng câu lệnh SHOW DATABASES; để hiển thị danh sách db - Cách xóa Database o Syntax: DROP DATABASE name_db; - Cách USE database cụ thể o Syntax: USE name_db; o Câu lệnh sẻ chuyển hướng đến database cần dùng o Để xem sử dụng db ta dùng câu lệnh SELECT DATABASE(); B Table *Khía niệm - - - Table tập hợp dử liệu quan hệ tạo thành bảng, mổi hàng table record chứa thông tin đối tượng, cột bảng gọi field chứa thông tin thuộc tính tất đối tượng Colum bảng dịng header bảng Mỗi field table phép có kiểu dử liệu (data type nhất) để đồng liệu với Các kiểu liệu SQL o String data type (loại kí tự) o Numberic data type (loại số) o Date data type (loại ngày tháng) Một số kiểu thường dùng o String data type:  Varchar(n) : chuỗi ký tự có độ dài từ 0->255, khai bá kiểu varchar ta khai báo thêm số n số ký tự tối đa liệu filed (nằm khoảng -> 255) o Numberic data type:  INT : kiểu số nguyên o Date datatype *Các thao tác với bảng - Tạo bảng o Syntax: CREATE TABLE name_table ( Column_name datatype, Column_name datatype ); - - Cách để xem danh sách bảng db o Syntax: SHOW TABLES Cách để xem danh sách columns bảng o Syntax: SHOW COLUMNS FROM table_name; o Hoặc o Syntax: DESC table_name; Cách xóa table: o Syntax: DROP TABLE table_name; Insert Data (and a couple thing) A Insert Data - Cách để insert data : o Syntax: INSERT INTO table_name (columns_name, columns_name) VALUES (value_1, value_1), (value_2, value_2); - Xem giá trị bảng o Syntax: SELECT * FROM table_name; o Lấy hết tất giá trị bảng để xem B Null MySQL - Trong SQL tạo bảng ta định columns có tính NULL hay khơng - Khi ta insert liệu vào bảng mà ta quên thêm liệu cho vài collums ta thực lệnh INSERT khơng truyền liệu table xuất hiển records có giá trị NULL - Nếu khơng muốn để NULL mà để defautl value ta thêm từ khóa NOT NULL vào sau collumns tạo bảng o Syntax: CREATTE TABLE table_name ( Column_name NOT NULL, Column_name NOT NULL ); - Khi thêm từ khóa NOT NULL bảng khơng cịn tính NULL, ta truyền giá trị NULL vào cho bảng tự động set defautl value cho đó, defautl value mặc định kiểu số 0, kiểu text chuỗi rỗng ‘ ‘ Ngoài ta thay đổi defautl value C Defautl Value - Defautl value giá trị mặc định phải có ta khơng truyền liệu vào, hay nói cách khác NULL tự động đổi thành defautl value - Nếu không muốn dùng defautl value mặc định MySQL ta tự set - Syntax: o CREATTE TABLE table_name ( Column_name DEFAUTL ‘value’, Column_name DEFAUTL ‘value’ ); - Khi ta insert data vào bảng mà ta bỏ sót liệu tự động điền defautl value vào bị xót D Primary key - Primary key giá trị record dùng để định danh record - Primary key giá trị khơng thể NULL, table có primary key - Ví dụ : primary key có thê số ID, mã SV, mã công dân,… - Syntax: o CREATTE TABLE table_name ( Column_name DEFAUTL ‘value’, Column_name DEFAUTL ‘value’, PRIMARY KEY (clumn_name); ); - - Câu lệnh set collumn primary key Trong trường hợp primary key id, insert data ta phải nhớ records trước có id ta set id cho record mới, để tự động tăng id lần set thêm record ta dùng thêm từ khóa AUTO_INCREMENT vào sau column_name primary key Ví dụ: o CREATTE TABLE table_name ( Column_name DEFAUTL ‘value’ AUTO_INCREMENT, Column_name DEFAUTL ‘value’, PRIMARY KEY (clumn_name); ); - Ta dùng từ khóa lúc E VÍ dụ cho tính chất - Trog table ta thấy o Tính chất NULL NO o Id Primary key, auto_increment o Giá trị mặc định current_status employed CRUD Command - CRUD viết tắt Create Read Update Delete thao tác với table A B - Create Create lệnh insert phần trước Read Read lệnh SELECT Syntax: SELECT columns_name, columns_name FROM table_name; Ta dùng SELECT * để lấy tồn bảng Lấy có điều kiện : để lấy có điều kiện ta dùng từ khóa WHERE o Syntax: SELECT columns_name, columns_name FROM table_name WHERE condition; - Khái niệm aliases (bí danh) : aliases ta thay đổi cách thể liệu tên khác nhau, ví dụ columns cat_id ta để hiển thị thành id thông qua aliases o Syntax: SELECT columns_name AS aliases , columns_name FROM table_name; C Update - Để update data ta dùng câu lệnh sau - Syntax: UPDATE table_name SET columns_name = newValue WHERE condition; - Câu lệnh update cho bảng với giá trị sau từ khóa SET UPDATE vị trí WHERE condition table D Delete - Để delete data khỏi bảng ta dùng câu lệnh - Syntax: DELETE FROM table_name WHERE condition; - Nó tìm record thỏa điều kiện xóa khỏi bảng - Lưu ý ta bỏ từ khóa where câu lệnh thành : DELETE FROM table_name; - Và xóa tồn liệu bảng - Điểm khác DROP table_name DELETE FROM table_name o Drop xóa hồn tồn bảng khỏi database o Delete xóa dử liệu bảng bảng giữ lại SQL String Sever funtcion - Là hàm built-in có sẳn SQL dùng để xử lý data dạng string A SQL Files - Ta tạo file với đuôi sql để lưu trữ câu lệnh query mySQL chạy file tự động thực câu lệnh có file - Để MySQL chạy File SQL ta dùng câu lệnh: o SOURCE path_of_file; - Lưu ý: o trước đọc file ta phải chọn db table muốn sử dụng o Đường dẫn file đổi ký tự \ thành /; B Concat - Concat hàm nối chuỗi, nối chuỗi từ field khác lại thành fileds chứa chuỗi kết o Syntax: CONCAT (column_name1, columns_name2); - Vì CONCAT nối tạo fileds nên thường kèm với lệnh SELECT để hiển thị FROM để rõ bảng có columns nối o Syntax: SELECT CONCAT(column_name1, column_name2) FROM table_name; - Nối có ký tự ngắn cách : đê nối có ký tự ngăn cách ta dùng hàm CONCAT_WS o Syntax: CONCAT_WS (‘connect_symbol’, column_name1, columns_name2); o Hàm chuỗi với giá trị ngăn cách ký tự nối khai báo hàm C Substring - Là hàm để trích chuỗi bên chuỗi khác Syntax: SUBSTRING / SUBSTR (string, m,n); Trong :  String chuỗi trích  m vị trí bắt đầu (index đầu 1)  n vị trí kết thúc  Nếu ta để số số đến hết chuỗi, ta để số âm lấy ngược từ cuối chuỗi - Substring giống concat tạo fields columns nên ta kết hợp với SELECT FROM để sử dụng o Syntax: SELECT SUBSTRING(column_name, m,n) FROM table_name; D Replace - Để thay thành phần chuỗi giá tị khác o Syntax: REPLACE (string, ‘old’, ‘new’); o Trong đó:  string chuỗi thay  old : ký tự thay  new : ký tự thay ký tự pos - Tương tự câu lệnh REPLACE thường SELECT FROM o Syntax: SELECT REPLACE(string, ‘old’, ‘new’) FROM table_name; E Reverse - Dùng để lật ngược chuỗi lại - Syntax: REVERSE(string); F Char_Length - Cho biết độ dài chuỗi - Syntax: CHAR_LENGTH(string); G Uper and Lower - Dùng để viết hoa viết thường xuống - Syntax : UPPER / LOWER (string); o o Refining our selection A Distinct - Đây câu lệnh giúp lọc bớt liệu giống để lại - Nó có tính chất giống câu lệnh nên dùng chung với SELECT FROM o Syntax: SELECT DISTINCT columns_name FROM table_name - Lưu ý: o Khi sử dụng DISTINCT trước khơng thể chọn columns o Khi có hay nhiều colums đứng sau DISTINCT tự động CONCAT column DISTINCT column vừa CONCAT B Order By - Đây câu lệnh dùng để sort fields (câu lệnh bắt buộc kèm với SELECT FROM) o Syntax: SELECT column_name FROM table_name ORDER BY columns_name / index; - Mặc định câu lệnh short fields theo chiều tăng dần, để thay đổi cách short ta thêm từ khóa DESC (giảm dần) ASC (tăng dần) - VÌ câu lệnh làm thay đổi thứ tự fields short nên làm thay đổi thứ tự fields khác dựa theo fields short - Nếu có hay nhiều column_name theo sau ORDER BY short colums, Ví dụ short nhiều fileds ta short họ họ trùng ta tính tới tên lúc ta cần short fields Tuy nhiên MySQL ưu tiên short fields khai báo trước C Limit - Đây câu lệnh để lấy số lượng phần tử định o Syntax : LIMIT n; o Câu lệnh lấy n records tính từ đầu table - Ngồi LIMIT nhận tham số o Syntax: LIMIT m,n; o Trong  m vị trí bắt đầu lấy (index bắt đầu 0)  n số records lấy - LIMIT kèm với SELECT FROM o Syntax: SELECT columns_name FROM table_name LIMIT m,n; D Like - Là câu lệnh tìm kiếm nâng cao bổ trọ cho WHERE o Syntax : WHERE columns_name LIKE ‘condition’ o Nó tìm kiếm columns_name theo condition *Wildcards LIKE - Wildcards tồn tử hỗ trợ tìm kiếm cho từ khóa LIKE % wildcards : tốn tử % nghĩa chọn thứ (hoặc ko) o VD :  %da%: nghĩa chọn columns có ký tự ‘da’ ký tự ‘da’ trước có thứ sau có bật thứ  da% : nghĩa chọn columns có ký tự ‘da’ ký tự ‘da’ trước ko có ký tự khác sau có bật thứ  %da : nghĩa chọn columns có ký tự ‘da’ ký tự ‘da’ trước có thứ sau ko có - _wildcards : toán tử _ đại diện cho ký tự o VD:  _ : nghĩa tìm kiếm columns có ký tự  _da: nghĩa trước ký tự ‘da’ có ký tự  da : nghĩa sau ký tự ‘da’ có ký tự - Ta dùng kết hợp toán tử o VD :  da% : nghĩa trước ký tự ‘da’ có ký tự sau có thứ - Câu lệnh LIKE kèm với SELECT FROM WHERE o Syntax: SELECT columns_name FROM table_name WHERE column_name LIKE ‘condition’ E Lưu ý thứ tự sử dụng - Thông thường ta sử dụng ORDER BY -> WHERE -> LIKE -> LIMIT Aggregate Function - Aggregate Function hàm tính tốn liệu trả kết Các hàm trả kết dạng fields nên ta dùng sau từ khóa SELECT để hiển thị kết A Count - Count hàm đếm số phần tử o Syntax: COUNT(column_name); B - C - D - E - - o Hàm đếm trả số lượng phần tử ứng với columns_name Hàm count trả giá trị dạng fileds nên dùng sau từ khóa SELECT để hiển thị kết o Syntax: SELECT COUNT(columns_name) FROM table_name Count(*) đếm số lượng phần tử nguyên bảng Group By Gruop By hàm quan trọng aggregate, giúp gruop liệu thành dòng siêu liệu dựa theo columns o Syntax: GROUP BY columns_name; o Nó dựa vào columns_name để xác định data giống columns_name gộp records có data giống thành dịng siêu liệu Dòng siêu liệu dòng chứa nhiều liệu hiển thị dòng Khác với DISTINCT loại bỏ data giống giữ lại một, GROUP BY gộp data giống lại, khơng xóa liệu mà gộp lại thành dòng GROUP BY nhận nhiều tham số, concat lại thực GRUOP (tương tự DISTINCT) Mỗi hàng liệu gruop xem table mini nên ta dùng COUNT(*) cho fields đếm số phần tử có ‘table mini’ GRUOP BY sau SELECT FROM o Syntax: SELECT columns_name FROM tables_name GROUP BY columns_name; MIN MAX Min max đơn giản trả giá trị nhỏ lớn o Syntax: MIN/MAX (column_name) Câu lệnh sau SELECT tương tự COUNT o Syntax: SELECT MIN/MAX(columns_name) FROM table_name; Khi ta sử dụng MIN/MAX lên table gruop by tính MIN MAX cho table trả giá trị, ta dùng MIN/MAX cho table có GRUOP BY tính MIN MAX cho dịng gruop lại với nghĩa GRUOP có MIN/MAX (duy tự gọi tính GRUOP hàm) Sum Dùng để cộng tất liệu fileds o Syntax: SUM (column_name); o Lưu ý : nhận tham số SUM giống hàm Aggregate khác theo sau từ khóa SELECT o Syntax: SELECT SUM(colums_name) FROM table_name; SUM có tính GRUOP Average Dùng để tính trung bình cộng liệu fields o Syntax: AVG(column_name); o Lưu ý : có tham số AVG giống hàm Aggregate khác theo sau từ khóa SELECT o Syntax: SELECT AVG (colums_name) FROM table_name; AVG có tính GRUOP More in Data Type A Char Varchar - Char tương tự với Varchar dùng để lưu liệu dạng text, char fixed cứng độ dài Ví dụ ta khai báo Char(5) ta nhập vào data có ký tự SQL tự động thê khoảng trắng phía sau data cho độ dài đủ ký tự - Khi lưu trữ data thêm khoảng trắng phía sau cho đủ độ dài ta select dùng hàm truy xuất, tập hợp data SQL tự động bỏ khoảng trắng thực việc tính tốn - Char thường dùng với liệu fixed sẵn giới tính M F B Decimal - Decimal kdl dùng để hiển thị số thập phân o Syntax: DECIMAL(d, m); o Trong  d số ký tự tối đa số thập phân (ví dụ: 12,3 số ký tự 3)  m số ký tự nằm sau dấu phẩy thập phân (ví dụ: 12,3 số ký tự sau dấu phẩy 1)  d lớn m - Khi ta lưu giá trị có phần d lớn phần d khai báo bị lỗi - Cịn ta lưu gái trị có phần m lớn phần m khai báo tự động làm tròn đến phần m khai báo o Ví dụ : khai báo m mà ta nhập 2,345 làm trịn thành 2,35 C Float Double - FLoat Double kdl để chứa số thập phân - Khác với Decimal sử dụng fixed-point type (kiểu số thập phân mã) float double sử dụng floating-point type nên kiểu decimal xác tính toán kiểu float/ double giúp lưu trữ số lớn dùng liệu - Phạm vi xác Float ký tự (doube 14 ký tự) : nghĩa số thập phân vượt qua phạm vi float double lưu khơng cịn xác nửa - Vậy dùng Decmial dùng Float/Double o Dùng Decimal:  Khi ta quan tâm đến tính xác liệu  Cần thực phép toàn xác o Dùng Float/Double  Khi ta khơng cần quan tâm nhiều đến tính xác liệu  Cần lưu số lớn với không gian nhỏ D Datetime - Kdl ngày tháng có kiểu phổ biến o Date : lưu ngày tháng năm, format: ‘yyyy-mm-dd' o Time : lưu phút giây, format: ‘hh:mm:ss’ o Datetime : lưu ngày tháng năm phút giây, format : ‘yyyy-mm-dd hh:mm:ss’ *CURDATE(), CURTIME(), NOW(): hàm hiển thị thời gian E - - CURDATE() : hiển thị ngày CURTIME() : hiển thị NOW() : thị ngày thiện Date Format Một số hàm format date: o DAY() : lấy ngày o DAYNAME() : lấy thứ ứng với ngày o DAYOFWEEK() : xem ngày thứ tuần o DAYOFYEAR() : ngày thứ năm Một số hàm format tháng: o MONTH() : lấy tháng o MONTHNAME() : lấy tên tháng - Hàm Date_Format() giúp ta tự định dạng ngày tháng năm o Syntax: DATE_FORMAtT(columns_name, formating) o Tham khảo : https://dev.mysql.com/doc/refman/8.0/en/date-and-timefunctions.html#function_date-format F Date Math - Là hàm cho phép ta thực phép toán date - Trừ datetime lấy số ngày o Syntax : DATEDIFF(dateime1, datetime2); o Nó trừ datetime1 cho datetim2 lấy số ngày cách biệt datetime o Có thể thực phép tốn với date datetime, hàm trả số âm - Cộng trừ datetime với khoảng thời gian định o Syntax: datetime_name +/- INTERVAL time; o Câu lệnh cộng trừ khoảng thời gian time vào datime_name o Time month, day, year , 10 minutes, quarters G Timestamps - Timestamps giống datetime dùng để lưu ngày giới hạn ngắn (từ 1970-01-01 00:00:01 đến 2038-01-19 3:14:07) - Timestamps thường dùng để thị update vào khoảng thời gian - Ví dụ : o Syntax: TIMESTAMPS DEFAUTL NOW() ON UPDATE CURRENT_TIMESTAMPS o Câu lệnh khời tọa timestamp lấy datetime tại, lần update giá trị datetime update theo - TimeStamps thường dùng để thể tính cmt hay post post lên update Logical Operater A B - NOT LIKE Ngược lại với LIKE BETWEEN Nó lấy giá trị khoảng o Syntax: WHERE column_name BETWEEN m AND n; o Câu lệnh lấy giá trị m n o Câu lệnh tương tự như: column_nam >= m && column_name

Ngày đăng: 22/07/2022, 14:12

TỪ KHÓA LIÊN QUAN

w