SQL - nó là gì, ngôn ngữ nào cần thiết và các chức năng cơ bản cho người mới bắt đầu. Cách tạo cơ sở dữ liệu trong môi trường SQL Server

Giới thiệu

Bài viết này mở ra một loạt bài ngắn dành cho những vấn đề cơ bản về tương tác với cơ sở dữ liệu (DB) trong Java giới thiệu về SQL . Nhiều chương trình đang bận rộn xử lý, sửa đổi thông tin và cập nhật nó. Vì dữ liệu rất một phần quan trọng logic chương trình, sau đó bộ nhớ riêng thường được phân bổ cho chúng. Thông tin trong đó được cấu trúc và tuân theo các quy tắc đặc biệt để đảm bảo xử lý và lưu trữ chính xác. Dữ liệu có thể được truy cập và thay đổi bằng cách sử dụng ngôn ngữ đặc biệt truy vấn - SQL (Ngôn ngữ truy vấn có cấu trúc). Hệ thống quản lý cơ sở dữ liệu- đây là phần mềm đảm bảo sự tương tác của các chương trình bên ngoài khác nhau với dữ liệu và các dịch vụ bổ sung (ghi nhật ký, khôi phục, hỗ trợ và tương tự), bao gồm cả thông qua SQL. Tức là một lớp phần mềm giữa dữ liệu và các chương trình bên ngoài hoạt động với nó. Trong phần này, chúng ta sẽ trả lời các câu hỏi SQL là gì, máy chủ SQL là gì và tạo chương trình đầu tiên để tương tác với DBMS.

Các loại DBMS

Có một số loại DBMS dựa trên cách chúng tổ chức lưu trữ dữ liệu:
  • Thứ bậc. Dữ liệu được tổ chức theo cấu trúc cây. Ví dụ - hệ thống tập tin, bắt đầu từ thư mục gốc của đĩa và sau đó phát triển theo các nhánh tệp các loại khác nhau và các thư mục có mức độ lồng nhau khác nhau.
  • Mạng. Một sửa đổi về phân cấp, mỗi nút có thể có nhiều nút cha.
  • Hướng đối tượng. Dữ liệu được tổ chức dưới dạng lớp/đối tượng với các thuộc tính và nguyên tắc tương tác theo OOP.
  • Quan hệ. Dữ liệu của loại DBMS này được tổ chức dưới dạng bảng. Các bảng có thể được liên kết với nhau, thông tin trong đó được cấu trúc.
Trong loạt bài viết này, chúng ta sẽ xem xét các DBMS quan hệ (là những DBMS phổ biến nhất) sử dụng H2 làm ví dụ và tạo một ứng dụng từ đầu mô phỏng một cái gì đó tương tự như cách hoạt động của một sàn giao dịch. Câu hỏi: Tại sao không phải là PostgreSQL, MySQL, MSSQL hay Oracle? Trả lời:Để không bị phân tâm bởi các vấn đề cài đặt một bộ chương trình riêng biệt. Cấu hình sâu hơn, tạo cơ sở dữ liệu, sự phức tạp khi làm việc trong các phiên bản, hệ điều hành khác nhau. Để làm việc với H2, bạn cần thực hiện tối thiểu các hành động. Nhưng không có gì ngăn cản bạn thay đổi JDBC H2 hiện tại thành cơ sở dữ liệu quan hệ từ nhà sản xuất khác (chỉ thay đổi dòng địa chỉ máy chủ và tên lớp trình điều khiển).

SQL

Các chương trình bên ngoài tạo các truy vấn tới DBMS bằng ngôn ngữ quản lý dữ liệu Ngôn ngữ truy vấn có cấu trúc. SQL là gì và nó khác với các ngôn ngữ lập trình thông thường như thế nào? Một trong những tính năng của SQL là tính khai báo. Đó là, SQL là ngôn ngữ khai báo. Điều này có nghĩa là khi nhập lệnh, tức là tạo truy vấn đến máy chủ SQL, chúng tôi mô tả chính xác những gì chúng tôi muốn nhận chứ không phải theo cách nào. Đang gửi tới máy chủ truy vấn CHỌN* TỪ KHÁCH HÀNG (bản dịch gần đúng từ SQL sang tiếng Nga: “thực hiện lựa chọn từ bảng COSTUMER, lựa chọn bao gồm tất cả các hàng của bảng”), chúng tôi sẽ nhận được dữ liệu cho tất cả người dùng. Việc máy chủ tải xuống và tạo ra dữ liệu mà chúng tôi quan tâm hoàn toàn không thành vấn đề. Điều chính là xây dựng yêu cầu một cách chính xác.
  • SQL Server là gì và nó hoạt động như thế nào? Tương tác với DBMS xảy ra theo nguyên tắc máy khách-máy chủ. Một số chương trình bên ngoài gửi yêu cầu dưới dạng toán tử và lệnh bằng ngôn ngữ SQL, DBMS xử lý yêu cầu đó và gửi phản hồi. Để đơn giản, hãy giả sử rằng SQL Server = DBMS.
Nếu bạn biết lái một chiếc ô tô cùng nhãn hiệu, rất có thể bạn sẽ vấn đề đặc biệt Bạn cũng sẽ có thể lái xe cho người khác. Những điều cơ bản về lái xe ở mọi nơi đều giống nhau, ngoại trừ những chi tiết nhỏ. Tương tự với máy chủ SQL nhà sản xuất khác nhau- mỗi người trong số họ có cái riêng của họ Phiên bản SQL, nhưng đáp ứng các tiêu chuẩn quy định (SQL92, SQL2003...). Chúng tôi sẽ sử dụng các toán tử và lệnh trong khung SQL92. Các câu lệnh SQL cơ bản được chia thành các nhóm sau:
  • Ngôn ngữ định nghĩa dữ liệu ( DDL) – định nghĩa dữ liệu. Tạo cấu trúc cơ sở dữ liệu và các đối tượng của nó;
  • Ngôn ngữ thao tác dữ liệu( DML) – tương tác thực tế với dữ liệu: chèn, xóa, sửa đổi và đọc;
  • Ngôn ngữ kiểm soát giao dịch ( TCL) – quản lý giao dịch;
  • Ngôn ngữ kiểm soát dữ liệu( DCL) – quản lý quyền truy cập vào dữ liệu và cấu trúc cơ sở dữ liệu.
Trong loạt bài viết chúng ta sẽ xem xét ba nhóm đầu tiên, đặc biệt chú ý đến DML.

JDBC

Vào những năm 80 của thế kỷ trước những máy tính cá nhân Các loại PC XT/AT đã chinh phục thị trường. Điều này phần lớn là do tính mô-đun trong thiết kế của họ. Điều này có nghĩa là người dùng có thể dễ dàng thay đổi một hoặc một thành phần khác trong máy tính của mình (bộ xử lý, card màn hình, đĩa, v.v.). Thuộc tính tuyệt vời này đã được bảo tồn cho đến ngày nay: chúng tôi thay đổi card màn hình và cập nhật trình điều khiển (đôi khi nó thậm chí còn tự cập nhật, trong chế độ tự động). Thông thường, không có gì xấu xảy ra với những thao tác như vậy và các chương trình hiện có sẽ tiếp tục hoạt động với hệ thống được cập nhật mà không cần cài đặt lại. Điều tương tự cũng áp dụng khi làm việc với Java với DBMS. Để chuẩn hóa công việc với máy chủ SQL, việc tương tác với nó có thể được thực hiện thông qua một điểm duy nhất - JDBC (Kết nối cơ sở dữ liệu Java). Đây là việc triển khai gói java.sqlđể làm việc với DBMS. Các nhà sản xuất của tất cả các máy chủ SQL phổ biến đều phát hành trình điều khiển JDBC cho chúng. Hãy xem xét sơ đồ dưới đây. Ứng dụng này sử dụng các thể hiện của các lớp từ java.sql. Sau đó chúng tôi chuyển các lệnh cần thiết để truy xuất/sửa đổi dữ liệu. Hơn nữa java.sql bởi vì trình điều khiển jdbc tương tác với DBMS và trả về kết quả hoàn chỉnh cho chúng tôi. Để chuyển sang DBMS từ nhà sản xuất khác, chỉ cần thay đổi JDBC và chạy cài đặt cơ bản. Các phần còn lại của chương trình không thay đổi.

Chương trình đầu tiên

Hãy chuyển sang phần thực tế. Hãy tạo một dự án Java bằng cách sử dụng IDE JetBrains Ý tưởng IntelliJ . Xin lưu ý rằng các biên tập viên Phiên bản cuối cùng chứa một công cụ tuyệt vời để làm việc với SQL và cơ sở dữ liệu - Nắm bắt dữ liệu. Tuy nhiên, nó được trả tiền cho hầu hết người dùng. Vì vậy, vì mục đích giáo dục, chúng tôi chỉ có thể sử dụng các tài liệu có sẵn công khai Phiên bản cộng đồng IntelliJ IDEA. Vì vậy: Bây giờ chúng ta đã biết cách kết nối và ngắt kết nối khỏi DBMS. Mỗi bước được phản ánh trong bảng điều khiển. Khi bạn kết nối với DBMS lần đầu tiên, một tệp cơ sở dữ liệu sẽ được tạo stockExchange.mv.db .

Phân tích mã

Mã thực tế: gói sql. thử nghiệm; nhập java. sql. *; lớp công khai StockExchangeDB ( // Khối khai báo hằng Chuỗi cuối cùng tĩnh công khai DB_URL = "jdbc:h2:/c:/JavaPrj/SQLDemo/db/stockExchange"; chuỗi tĩnh cuối cùng DB_Driver = "org.h2.Driver"; public static void main (String args) ( try ( Class. forName (DB_Driver) ; // Kiểm tra sự hiện diện của trình điều khiển JDBC để làm việc với cơ sở dữ liệu Kết nối kết nối= Trình quản lý trình điều khiển. getConnection(DB_URL) ; //kết nối tới cơ sở dữ liệu System. ngoài. println( "Kết nối với DBMS đã hoàn tất.") ; sự liên quan. đóng(); // ngắt kết nối khỏi cơ sở dữ liệu Hệ thống. ngoài. println( "Việc ngắt kết nối khỏi DBMS đã hoàn tất.") ; ) bắt (ClassNotFoundException e) ( e. printStackTrace () ; // xử lý lỗi Class.forName Hệ thống. ngoài. println( "Không tìm thấy trình điều khiển JDBC cho DBMS!") ; ) bắt (SQLException e) ( e. printStackTrace () ; // xử lý lỗi DriverManager.getConnection Hệ thống. ngoài. println("Lỗi SQL!"); ) ) )

Khối cố định:

  1. Trình điều khiển DB_: Ở đây chúng tôi đã xác định Tên trình điều khiển, chẳng hạn, có thể tìm thấy bằng cách nhấp vào thư viện được kết nối và mở rộng cấu trúc của nó trong thư mục lib của dự án hiện tại.
  2. DB_URL: Địa chỉ cơ sở dữ liệu của chúng tôi. Bao gồm dữ liệu được phân tách bằng dấu hai chấm:
  3. Giao thức=jdbc
  4. Nhà cung cấp (nhà sản xuất/tên) DBMS=h2
  5. Vị trí của DBMS, trong trường hợp của chúng tôi là đường dẫn đến tệp (c:/JavaPrj/SQLDemo/db/stockExchange). Đối với các DBMS mạng, tên hoặc địa chỉ IP được chỉ định bổ sung tại đây máy chủ từ xa, số cổng TCP/UDP, v.v.

Xử lý lỗi:

Các phương thức gọi trong mã của chúng tôi có thể trả về các lỗi mà bạn nên chú ý. TRÊN ở giai đoạn này chúng tôi chỉ cần báo cáo chúng trong bảng điều khiển. Lưu ý rằng các lỗi khi làm việc với DBMS thường gặp nhất Ngoại lệ SQL.

Logic công việc:

  1. Lớp.forName(DB_Driver) - chúng tôi đảm bảo rằng trình điều khiển JDBC tương ứng có sẵn (mà chúng tôi đã tải xuống và cài đặt trước đó).
  2. DriverManager.getConnection(DB_URL) – thiết lập kết nối DBMS. Bằng cách sử dụng địa chỉ được truyền, chính JDBC sẽ xác định loại và vị trí của DBMS của chúng tôi và trả về một Kết nối mà chúng tôi có thể sử dụng để giao tiếp với cơ sở dữ liệu.
  3. kết nối.close()– đóng kết nối với DBMS và kết thúc làm việc với chương trình.
Trong phần tiếp theo của loạt bài này, chúng ta sẽ làm quen với các toán tử DDL và các kiểu dữ liệu SQL, đồng thời tạo cấu trúc ban đầu của cơ sở dữ liệu và điền vào các bảng.

Trong máy chủ SQL, cơ sở dữ liệu được lưu trữ dưới dạng tập tin thông thường trên đĩa. Ít nhất một cơ sở dữ liệu có 2 tệp như vậy: *.mdf và *.ldf. Cái đầu tiên lưu trữ chính dữ liệu, bảng, chỉ mục, v.v. và cái thứ hai chứa cái gọi là. nhật ký giao dịch, chứa thông tin cần thiết để khôi phục cơ sở dữ liệu.

Làm cách nào để tạo cơ sở dữ liệu mới? Điều này có thể được thực hiện theo 2 cách:

sử dụng trình quản lý doanh nghiệp máy chủ sql
sử dụng ngôn ngữ sql và tạo câu lệnh cơ sở dữ liệu
Tùy chọn đầu tiên rất đơn giản và rõ ràng. Cách thứ hai thuận tiện khi phân phối các sản phẩm tuyệt vời của bạn sử dụng máy chủ ms sql, vì nó cho phép bạn tạo cơ sở dữ liệu mà không cần nhấn các nút khác nhau.

Sử dụng trình quản lý doanh nghiệp máy chủ sql

Đăng nhập vào máy tính của bạn với tư cách quản trị viên hoặc với tư cách người dùng đăng nhập Nhóm địa phương quản trị viên
Khởi chạy trình quản lý doanh nghiệp máy chủ sql.
Mở rộng nhóm của bạn máy chủ sql ov. Sau đó mở máy chủ sql của bạn. (để mở rộng có nghĩa là nhấp vào dấu “+” trong cây đối tượng người quản lý doanh nghiệp).
Bấm vào máy chủ của bạn.
Trong menu công cụ, chọn trình hướng dẫn.... Trong cửa sổ xuất hiện, mở rộng mục cơ sở dữ liệu, nhấp vào tạo trình hướng dẫn cơ sở dữ liệu và nhấp vào ok.
Một cửa sổ “thuật sĩ” để tạo cơ sở dữ liệu sẽ xuất hiện trên màn hình. Bấm tiếp"
Ở bước này, “trình hướng dẫn” sẽ hỏi bạn tên của cơ sở dữ liệu, cũng như vị trí của nó trên phạm vi rộng lớn của đĩa của bạn :) Nói một cách đơn giản, bạn cần chỉ ra tên của cơ sở dữ liệu (tốt hơn hết là không nên sử dụng các chữ cái tiếng Nga trong tên cơ sở dữ liệu), cũng như vị trí của tệp .mdf và .ldf
Tôi gọi nó là cái tên đáng tự hào sqlstepbystep và sẽ tiếp tục gọi nó như vậy.
Bây giờ bạn sẽ được yêu cầu chỉ định kích thước ban đầu của cơ sở dữ liệu và tên của tệp để lưu trữ dữ liệu. cho biết kích thước nhiều như bạn không bận tâm đối với các thí nghiệm. imho, 5 MB là đủ. Tên file cũng khá tùy ý. Ví dụ: tôi đã nhập sqlstep.
Bước này được gọi là: “Xác định sự phát triển của cơ sở dữ liệu”, tức là. bạn cần xác định kích thước của cơ sở dữ liệu sẽ thay đổi như thế nào (và liệu) khi dữ liệu được thêm vào. Hai nhóm lựa chọn được đưa ra:
không tự động phát triển các tệp cơ sở dữ liệu - cấm tự động tăng trưởng các tệp cơ sở dữ liệu
tự động phát triển tệp cơ sở dữ liệu—tự động phát triển các tệp cơ sở dữ liệu, được chọn theo mặc định. Để cho nó được.
Trong trường hợp tăng trưởng tệp tự động, bạn có thể đặt tốc độ tăng trưởng cơ sở dữ liệu theo megabyte hoặc theo phần trăm (mặc định là 10%). Ngoài ra, bạn có thể giới hạn hoặc không giới hạn Kích thước tối đa DB (mặc định - không giới hạn). Việc lựa chọn các giá trị nhất định phụ thuộc vào mục đích của cơ sở dữ liệu, cường độ và tính chất sử dụng của nó, tức là. từ bạn nhiệm vụ cụ thể. Chúng ta sẽ xem xét cách chọn chính xác các tham số này (theo ý kiến ​​​​của tôi 🙂) sau, trong các bước dành cho các vấn đề tối ưu hóa.
Chúng ta đã quyết định các tham số của tệp dữ liệu, bây giờ chúng ta cần quyết định các tham số nhật ký. Họ đều giống hệt nhau. Đảm bảo nhập tên tệp nhật ký khác với tên tệp cơ sở dữ liệu, chỉ cần thêm nhật ký vào đó
Nhấp vào "tiếp theo" và bạn có thể xem báo cáo cuối cùng. Nếu mọi thứ đều ổn, hãy nhấp vào “hoàn tất” và cơ sở dữ liệu sẽ được tạo. Bạn sẽ nhận được một tin nhắn về việc này và sau đó bạn sẽ được yêu cầu tạo một kế hoạch bảo trì; hiện tại chúng tôi không cần nó, vì vậy hãy từ chối.

Sử dụng câu lệnh tạo cơ sở dữ liệu sql

Câu lệnh tạo cơ sở dữ liệu có thể lặp lại tất cả hành động của bạn được mô tả ở trên. Trên thực tế, người quản lý doanh nghiệp đã “dịch” các nhấp chuột của bạn thành câu lệnh này và chuyển nó đến máy chủ sql. Hầu hết tất cả các chức năng của người quản lý doanh nghiệp đều được thực hiện chính xác theo cách này: dữ liệu được yêu cầu từ người dùng, toán tử của ngôn ngữ sql tuyệt vời được hình thành (chúng ta sẽ xem xét sau) và truyền tới thực thi sql máy chủ và kết quả thực thi được hiển thị cho người dùng.

Chúng ta hãy xem xét kỹ hơn cú pháp của câu lệnh tạo cơ sở dữ liệu.

tạo cơ sở dữ liệu cơ sở dữ liệu_name (name = logic_file_name, filename = "os_file_name" [, size = size] [, maxsize = max_size] [, filegrowth = tăng trưởng_increment]) ) [,...n] ] ) ) [,...n] ]


tên tệp - đường dẫn đầy đủ và tên tệp để lưu trữ cơ sở dữ liệu, phải trỏ đến đĩa cục bộ máy tính được cài đặt máy chủ sql.
size - kích thước ban đầu của mỗi tệp tính bằng MB.
maxsize - kích thước tệp tối đa tính bằng MB; nếu không được chỉ định, kích thước sẽ không bị giới hạn.
tăng trưởng tập tin là đơn vị tăng trưởng tập tin, được biểu thị bằng MB (theo mặc định) hoặc dưới dạng phần trăm (tức là % được thêm vào số); giá trị 0 cấm tăng trưởng tập tin.
Bây giờ hãy xem việc tạo cơ sở dữ liệu trông như thế nào:

tạo cơ sở dữ liệu sqlstepbystep trên cơ sở dữ liệu chính (name=sqlstepdata, filename="c:mssql7datasqlstep_data.mdf", size=5, maxsize=10, filegrowth=10%) đăng nhập (name=sqlsteplog, filename="c:mssql7datasqlstep_log.ldf", size=1, maxsize=5, filegrowth=1)

Để kiểm tra lệnh này, hãy chạy trình phân tích truy vấn - rất tiện ích hữu ích, để thực hiện các truy vấn sql. Kết nối với máy chủ của bạn và nhập toán tử này vào cửa sổ lệnh. Gửi yêu cầu thực thi (sử dụng f5 hoặc ctrl-e hoặc nhấp vào nút mũi tên màu xanh lá cây). Mọi thứ sẽ xào xạc và ngay sau đó ở phía dưới, trong cửa sổ thông báo sẽ xuất hiện một thông báo cho biết cơ sở dữ liệu đã được tạo thành công (hoặc chưa).

Mọi thứ chúng ta tạo ra đều có thể bị phá hủy. Việc xóa cơ sở dữ liệu rất đơn giản, như người ta nói, “phá vỡ không xây dựng được”. toán tử sql:

thả cơ sở dữ liệu<имя бд>

Nhập vào bộ phân tích truy vấn và khởi chạy để thực thi. Fu-yu-i-it, và cơ sở dữ liệu không còn ở đó nữa.
Trong trình quản lý doanh nghiệp, chọn cơ sở dữ liệu, nhấp chuột phải và danh mục chọn "xóa" và thế là ... biến mất.

Trong bước tiếp theo, chúng ta sẽ xem xét việc tạo bảng, kiểu dữ liệu trong transact-sql.

Mỗi chúng ta thường xuyên gặp phải và sử dụng cơ sở dữ liệu khác nhau dữ liệu. Khi chúng tôi chọn một địa chỉ E-mail, chúng tôi đang làm việc với một cơ sở dữ liệu. Sử dụng cơ sở dữ liệu dịch vụ tìm kiếm, ngân hàng lưu trữ dữ liệu khách hàng, v.v.

Nhưng bất chấp việc sử dụng cơ sở dữ liệu liên tục, ngay cả đối với nhiều nhà phát triển hệ thống phần mềm Còn rất nhiều “điểm trống” do cách hiểu khác nhau về cùng một thuật ngữ. Chúng tôi sẽ cung cấp định nghĩa ngắn gọn thuật ngữ cơ sở dữ liệu cơ bản trước khi xem xét ngôn ngữ SQL. Vì thế.

Cơ sở dữ liệu - một tệp hoặc tập hợp các tệp để lưu trữ các cấu trúc dữ liệu được sắp xếp và các mối quan hệ của chúng. Thông thường, một hệ thống quản lý được gọi là cơ sở dữ liệu - nó chỉ là một kho lưu trữ thông tin ở một định dạng cụ thể và có thể hoạt động với nhiều DBMS khác nhau.

Bàn - Hãy tưởng tượng một thư mục trong đó các tài liệu được lưu trữ, được nhóm theo một đặc điểm nhất định, ví dụ: danh sách các đơn đặt hàng cho tháng trước. Đây là bảng trong máy tính Bàn riêng có tên riêng của nó.

Loại dữ liệu - loại thông tin được phép lưu trữ trong một cột hoặc hàng riêng biệt. Đây có thể là số hoặc văn bản có định dạng nhất định.

Cột và Hàng- tất cả chúng tôi đã làm việc với bảng tính, cũng chứa các hàng và cột. Bất kì cơ sở quan hệ dữ liệu hoạt động với các bảng theo cách tương tự. Hàng đôi khi được gọi là bản ghi.

Khóa chính- Mỗi hàng của bảng có thể có một hoặc nhiều cột để nhận dạng duy nhất nó. Nếu không có khóa chính thì rất khó cập nhật, thay đổi và xóa các hàng mong muốn.

SQL là gì?

SQL(Tiếng Anh truy vấn có cấu trúc) được thiết kế chỉ để làm việc với cơ sở dữ liệu và trong Hiện nay là một tiêu chuẩn cho tất cả các DBMS phổ biến. Cú pháp của ngôn ngữ bao gồm số lượng nhỏ toán tử và dễ học. Tuy nhiên, bất chấp sự đơn giản rõ ràng của nó, nó cho phép tạo sql truy vấn cho các hoạt động phức tạp với cơ sở dữ liệu ở mọi kích cỡ.

Từ năm 1992, đã có một tiêu chuẩn được chấp nhận rộng rãi gọi là ANSI SQL. Nó định nghĩa cú pháp cơ bản và các chức năng của nhà điều hành và được hỗ trợ bởi tất cả các nhà lãnh đạo thị trường DBMS, chẳng hạn như ORACLE. Không thể xem xét tất cả các khả năng của ngôn ngữ trong một bài viết ngắn, vì vậy chúng tôi sẽ chỉ xem xét ngắn gọn những khả năng chính. truy vấn SQL. Các ví dụ thể hiện rõ ràng tính đơn giản và khả năng của ngôn ngữ:

  • tạo cơ sở dữ liệu và bảng biểu;
  • lấy mẫu dữ liệu;
  • thêm hồ sơ;
  • sửa đổi và xóa thông tin.

Các kiểu dữ liệu SQL

Tất cả các cột trong bảng cơ sở dữ liệu đều lưu trữ cùng một kiểu dữ liệu. Các kiểu dữ liệu trong SQL cũng giống như các ngôn ngữ lập trình khác.

Chúng tôi tạo bảng và cơ sở dữ liệu

Có hai cách để tạo cơ sở dữ liệu, bảng mới và các truy vấn khác trong SQL:

  • Câu lệnh SQL thông qua bảng điều khiển DBMS
  • Sử dụng các công cụ quản trị tương tác đi kèm với máy chủ cơ sở dữ liệu.

Tạo căn cứ mới dữ liệu điều hành TẠO NÊN CƠ SỞ DỮ LIỆU<наименование базы данных>; . Như bạn có thể thấy, cú pháp rất đơn giản và ngắn gọn.

Chúng ta tạo các bảng bên trong cơ sở dữ liệu bằng câu lệnh CREATE TABLE với các tham số sau:

  • tên bảng
  • tên cột và kiểu dữ liệu

Ví dụ: hãy tạo bảng Hàng hóa với các cột sau:

Tạo một bảng:

TẠO BẢNG Hàng hóa

(commodity_id CHAR(15) KHÔNG NULL,

nhà cung cấp_id CHAR(15) KHÔNG NULL,

tên hàng hóa CHAR(254) NULL,

hàng_giá DECIMAL(8,2) NULL,

hàng hóa_desc VARCHAR(1000) NULL);

Bảng bao gồm năm cột. Sau tên là kiểu dữ liệu, các cột cách nhau bằng dấu phẩy. Giá trị cột có thể chấp nhận giá trị trống (NULL) hoặc phải được điền (NOT NULL) và điều này được xác định khi bảng được tạo.

Lấy dữ liệu từ một bảng

Toán tử tìm nạp dữ liệu là truy vấn SQL được sử dụng phổ biến nhất. Để có được thông tin, chúng ta phải chỉ ra những gì chúng ta muốn chọn từ một bảng như vậy. Đầu tiên là một ví dụ đơn giản:

CHỌN tên_hàng TỪ Hàng hóa

Sau câu lệnh SELECT, chúng ta chỉ định tên của cột để lấy thông tin và FROM xác định bảng.

Kết quả của truy vấn sẽ là tất cả các hàng của bảng có giá trị Commodity_name theo thứ tự chúng được nhập vào cơ sở dữ liệu, tức là. mà không có bất kỳ sự sắp xếp nào. Để sắp xếp kết quả, sử dụng toán tử bổ sungĐẶT BỞI.

Để truy vấn một số trường, hãy liệt kê chúng cách nhau bằng dấu phẩy, như trong ví dụ sau:

CHỌN hàng_id, tên_hàng, giá_hàng TỪ Hàng hóa

Có thể lấy giá trị của tất cả các cột của một hàng làm kết quả truy vấn. Để thực hiện việc này, hãy sử dụng dấu “*”:

CHỌN * TỪ Hàng hóa

  • Ngoài ra SELECT còn hỗ trợ:
  • Sắp xếp dữ liệu (toán tử ORDER BY)
  • Lựa chọn theo điều kiện (WHERE)
  • Thuật ngữ nhóm (GROUP BY)

Thêm một dòng

Để thêm một hàng vào bảng, các truy vấn SQL bằng toán tử INSERT được sử dụng. Việc bổ sung có thể được thực hiện theo ba cách:

  • thêm toàn bộ dòng mới;
  • một phần của chuỗi;
  • kết quả truy vấn.

Để thêm một hàng hoàn chỉnh, bạn phải chỉ định tên bảng và giá trị cột (trường) dòng mới. Đây là một ví dụ:

CHÈN VÀO GIÁ TRỊ Hàng hóa("106", "50", "Coca-Cola", "1.68", "Không có Alcogol ,)

Ví dụ thêm vào bảng sản phẩm mới. Các giá trị được liệt kê sau GIÁ TRỊ cho mỗi cột. Nếu không có giá trị tương ứng cho cột thì phải chỉ định NULL. Các cột được điền các giá trị theo thứ tự được chỉ định khi bảng được tạo.

Nếu bạn chỉ thêm một phần của hàng, bạn phải chỉ định rõ ràng tên của các cột, như trong ví dụ:

XÁC NHẬN VÀO Hàng hóa (commodity_id, nhà cung cấp_id, tên hàng hóa)

GIÁ TRỊ("106", '50", "Coca-Cola",)

Chúng tôi chỉ nhập số nhận dạng của sản phẩm, nhà cung cấp và tên của nó và để trống các trường còn lại.

Thêm kết quả truy vấn

INSERT chủ yếu được sử dụng để nối các hàng nhưng cũng có thể được sử dụng để nối các kết quả của câu lệnh SELECT.

Thay đổi dữ liệu

Để thay đổi thông tin trong các trường của bảng cơ sở dữ liệu, bạn phải sử dụng câu lệnh UPDATE. Toán tử có thể được sử dụng theo hai cách:

  • Tất cả các hàng trong bảng đều được cập nhật.
  • Chỉ dành cho một dòng cụ thể.

CẬP NHẬT bao gồm ba yếu tố chính:

  • bảng trong đó những thay đổi cần được thực hiện;
  • tên trường và giá trị mới của chúng;
  • điều kiện chọn hàng cần thay đổi.

Hãy xem một ví dụ. Giả sử giá của sản phẩm có ID=106 đã thay đổi, vì vậy dòng này cần được cập nhật. Chúng ta viết toán tử sau:

CẬP NHẬT Hàng hóa SET hàng hóa_price = "3,2" Ở ĐÂU hàng hóa_id = "106"

Chúng tôi đã chỉ ra tên của bảng, trong trường hợp của chúng tôi là Hàng hóa, nơi cập nhật sẽ được thực hiện, sau SET - giá trị mới của cột và được tìm thấy mục nhập mong muốn, chỉ định giá trị ID mong muốn trong WHERE.

Để thay đổi nhiều cột, câu lệnh SET được theo sau bởi nhiều cặp giá trị cột được phân tách bằng dấu phẩy. Hãy xem một ví dụ trong đó tên và giá của sản phẩm được cập nhật:

CẬP NHẬT Hàng hóa SET hàng hóa_name=’Fanta’, hàng hóa_price = "3.2" Ở ĐÂU hàng hóa_id = "106"

Để xóa thông tin trong một cột, bạn có thể gán nó Giá trị rỗng, nếu cấu trúc bảng cho phép điều đó. Cần phải nhớ rằng NULL chính xác là giá trị “không” chứ không phải số 0 ở dạng văn bản hoặc số. Hãy xóa mô tả sản phẩm:

CẬP NHẬT Hàng hóa SET hàng hóa_desc = NULL WHERE hàng hóa_id = "106"

Xóa hàng

Các truy vấn SQL để xóa các hàng trong bảng được thực thi bằng câu lệnh DELETE. Có hai trường hợp sử dụng:

  • Một số hàng nhất định trong bảng sẽ bị xóa;
  • Tất cả các hàng trong bảng sẽ bị xóa.

Ví dụ về xóa một hàng khỏi bảng:

XÓA TỪ Hàng hóa Ở ĐÂY hàng hóa_id = "106"

Sau DELETE FROM chúng ta chỉ ra tên của bảng trong đó các hàng sẽ bị xóa. Mệnh đề WHERE chứa điều kiện để chọn các hàng để xóa. Trong ví dụ, chúng tôi xóa dòng sản phẩm có ID=106. Việc chỉ định WHERE là rất quan trọng bởi vì bỏ qua câu lệnh này sẽ xóa tất cả các hàng trong bảng. Điều này cũng áp dụng cho việc thay đổi giá trị của các trường.

Câu lệnh DELETE không chỉ định tên cột hoặc siêu ký tự. Nó xóa hoàn toàn các hàng nhưng không thể xóa một cột.

Sử dụng SQL trong Microsoft Access

Thường được sử dụng một cách tương tác để tạo bảng, cơ sở dữ liệu, quản lý, sửa đổi, phân tích dữ liệu trong cơ sở dữ liệu và triển khai các truy vấn SQL Access thông qua trình thiết kế truy vấn tương tác thuận tiện (Trình thiết kế truy vấn), bằng cách sử dụng công cụ này bạn có thể xây dựng và thực thi ngay các câu lệnh SQL ở bất kỳ mức độ phức tạp nào.

Chế độ truy cập máy chủ cũng được hỗ trợ, trong đó Truy cập cơ sở dữ liệu có thể được sử dụng làm trình tạo truy vấn SQL cho bất kỳ nguồn dữ liệu ODBC nào. Tính năng này cho phép Truy cập ứng dụng tương tác với bất kỳ định dạng nào.

Phần mở rộng SQL

Do các truy vấn SQL không có tất cả khả năng của các ngôn ngữ lập trình thủ tục, chẳng hạn như vòng lặp, phân nhánh, v.v., nên các nhà sản xuất DBMS đang phát triển phiên bản SQL của riêng họ với các khả năng nâng cao. Trước hết, đây là sự hỗ trợ cho các thủ tục lưu trữ và toán tử tiêu chuẩn các ngôn ngữ thủ tục.

Các phương ngữ phổ biến nhất của ngôn ngữ:

  • Cơ sở dữ liệu Oracle - PL/SQL
  • Liên cơ sở, Firebird - PSQL
  • Microsoft Máy chủ SQL- Giao dịch-SQL
  • PostgreSQL - PL/pgSQL.

SQL trên Internet

MySQL DBMS được phân phối dưới giấy phép miễn phí Giấy phép Công cộng GNU. Có giấy phép thương mại với khả năng phát triển các mô-đun tùy chỉnh. Làm sao thành phầnđược bao gồm trong các tập hợp phổ biến nhất của máy chủ Internet, chẳng hạn như XAMPP, WAMP và LAMP, đồng thời là DBMS phổ biến nhất để phát triển các ứng dụng trên Internet.

Nó được phát triển bởi Sun Microsystems và hiện được Tập đoàn Oracle hỗ trợ. Cơ sở dữ liệu có kích thước lên tới 64 terabyte, tiêu chuẩn cú pháp SQL: 2003, sao chép cơ sở dữ liệu và dịch vụ đám mây được hỗ trợ.

Loại ngôn ngữ được sử dụng trong một DBMS cụ thể được gọi là phương ngữSQL. Ví dụ: phương ngữ của Oracle DBMS được gọi là P.L./ SQL; MSSQLServer và DB2 sử dụng phương ngữ Giao dịch- SQL; trong Interbase và Firebird– isql. Mỗi phương ngữ SQL tương thích ở một mức độ nhất định với tiêu chuẩn SQL, nhưng có thể có những khác biệt và phần mở rộng ngôn ngữ cụ thể, vì vậy để tìm ra cú pháp của một câu lệnh SQL cụ thể, trước tiên bạn nên xem xét Giúp đỡ DBMS cụ thể.

Đối với các thao tác trên cơ sở dữ liệu và bảng, tiêu chuẩn sql cung cấp các toán tử sau:

Sau đây là cú pháp SQL92 cho các câu lệnh này. Vì cú pháp của chúng trong DBMS có thể khác với tiêu chuẩn nên nên tham khảo hệ thống trợ giúp DBMS khi thực hiện công việc trong phòng thí nghiệm.

Tên của các đối tượng cơ sở dữ liệu (bảng, cột, v.v.) có thể bao gồm các ký tự chữ và số và ký tự gạch dưới. Các ký tự đặc biệt (@$#, v.v.) thường biểu thị một loại bảng đặc biệt (hệ thống, tạm thời, v.v.). Không nên sử dụng các ký tự quốc gia (tiếng Nga), dấu cách và từ dành riêng trong tên, nhưng nếu chúng vẫn được sử dụng thì những tên đó phải được viết trong dấu ngoặc kép ".." hoặc trong ngoặc vuông [..].

Hơn nữa, khi mô tả cấu trúc của câu lệnh SQL, ký hiệu sau sẽ được sử dụng: các phần tùy chọn của cấu trúc được viết trong dấu ngoặc vuông; các thiết kế thay thế được ngăn cách bằng thanh dọc | ; dấu ngoặc nhọn () làm nổi bật các khối logic của cấu trúc; hình elip chỉ ra rằng phần trước của cấu trúc có thể được lặp lại nhiều lần. Cấu trúc “có thể mở rộng” được viết trong dấu ngoặc nhọn< >.

Tạo cơ sở dữ liệu

TẠO NÊN CƠ SỞ DỮ LIỆU Tên cơ sở dữ liệu

Xóa một hoặc nhiều cơ sở dữ liệu

BỎ CƠ SỞ DỮ LIỆU Tên cơ sở dữ liệu[,Tên cơ sở dữ liệu…]

Khai báo cơ sở dữ liệu hiện tại

SỬ DỤNG Tên cơ sở dữ liệu -- trong SQL Server và MySQL

THIẾT LẬP CƠ SỞ DỮ LIỆU Tên_ căn cứ_ dữ liệu – trong Firebird

Tạo bảng

TẠO BẢNG Tên bảng (

<описание_столбца> [, <cột_description> |

<ràng buộc về tính toàn vẹn của bảng>…]

< cột_mô tả>

Tên cột dọc KIỂU

(KHÔNG CÓ HÀNH ĐỘNG|CASCADE|SET DEFAULT|SET NULL)]

KIỂU Cột có thể là kiểu dữ liệu tiêu chuẩn (xem Bảng 1) hoặc tên miền (xem phần 6.2).

Một số DBMS cho phép bạn tạo cột tính toán (tính toán cột). Đây là các cột ảo, giá trị của chúng không được lưu trữ trong bộ nhớ vật lý nhưng được máy chủ DBMS tính toán bất cứ khi nào cột này được truy cập bằng công thức được chỉ định khi khai báo cột này. Công thức có thể bao gồm các giá trị từ các cột khác trong hàng đó, các hằng số, các hàm dựng sẵn và các biến toàn cục.

Mô tả cột được tính toán trong SQL Server là:

<описание_столбца> Tên cột dọc BẰNG sự biểu lộ

Mô tả cột được tính toán trong Chim lửa có dạng:

<описание_столбца> Tên cột dọc TÍNH THEO<biểu thức>

MySQL 3.23 DBMS không hỗ trợ các cột được tính toán.

< >

HẠN CHẾ Tính toàn vẹn_constraint_name

( ĐỘC ĐÁO| KHÓA CHÍNH)( list_of_columns_forming_key)

|KEY NGOẠI TỆ ( danh sách_ cột_FK)

NGƯỜI GIỚI THIỆU Tên bảng(danh sách_cột_PK)

(KHÔNG CÓ HÀNH ĐỘNG|CASCADE|SET DEFAULT|SET NULL)]

(KHÔNG CÓ HÀNH ĐỘNG|CASCADE|SET DEFAULT|SET NULL)]

|KIỂM TRA ( điều kiện kiểm tra)

Một số DBMS cho phép khai báo các bảng tạm thời (chỉ tồn tại trong một phiên). Trong SQL Server, tên bảng tạm thời phải bắt đầu bằng # (bảng tạm thời cục bộ chỉ hiển thị với người dùng đã tạo chúng) hoặc ## (bảng chung hiển thị cho tất cả người dùng); MySQL sử dụng từ khóa TEMPORARY để tạo các bảng tạm thời, ví dụ:

TẠO NÊNTẠM THỜIBÀN... (để biết thêm cú pháp, xem TẠO BẢNG).

Thay đổi cấu trúc bảng

Được sử dụng để thay đổi loại cột của bảng hiện có, thêm và xóa cột và các ràng buộc toàn vẹn.

BẢNG THAY ĐỔI Tên bảng

Thay đổi loại cột (trong SQLServer và Firebird)

THAY ĐỔI CỘT Tên cột dọc kiểu mới

Thay đổi loại cột, tên và ràng buộc (trong MySQL)

THAY ĐỔI CỘT Tên cột dọc <cột_description>

Thêm cột thông thường hoặc cột được tính toán

|THÊM<cột_mô tả>

Thêm một ràng buộc toàn vẹn

| THÊM VÀO

<ràng buộc về tính toàn vẹn của bảng>

Xóa một cột

|THẢ CỘT Tên cột dọc

Loại bỏ ràng buộc toàn vẹn

| Ràng buộc thả Tính toàn vẹn_constraint_name

Bật hoặc tắt kiểm tra ràng buộc tính toàn vẹn

BMSSQLMáy chủ

|(KIỂM TRA|KHÔNG KIỂM TRA) Ràng buộc

{Danh sách_of_integrity_constraint_names|TẤT CẢ)

Xóa một bảng

BÀN THẢ Tên bảng



Tiếp theo, chúng ta hãy xem cách khai báo các ràng buộc toàn vẹn khai báo khi tạo bảng mới bằng lệnh CREATETABLE hoặc thay đổi cấu trúc của các bảng hiện có bằng lệnh ALTERTABLE (chúng được mô tả chi tiết hơn trong phần 4.2).

1. Tính sẵn có bắt buộc của dữ liệu (giá trị NULL)

Khai báo bằng từ NULL (cột có thể có ô trống) hoặc NOT NULL (cột là bắt buộc). Mặc định là NULL.

Ví dụ tạo bảng 7:

TẠO NÊNBÀN Khách hàng(

Tên khách hàng NVARCHAR(60) CÓ GIÁ TRỊ,

Ngày sinh NGÀY VÔ GIÁ TRỊ,

Điện thoại CHAR(12)); -- mặc định cũng là NULL

2. Giá trị mặc định (MẶC ĐỊNH)

Một giá trị mặc định có thể được đặt cho mỗi cột trong bảng. Nếu một ô được sửa đổi và giá trị mới của nó không được chỉ định thì máy chủ sẽ chèn một giá trị mặc định. Giá trị mặc định có thể là NULL, hằng số, biểu thức được đánh giá hoặc hàm hệ thống.

Hãy xem một ví dụ về tạo bảng Đơn đặt hàng(Đơn đặt hàng). Cột Ngày đặt hàng mặc định là ngày hiện tại và cột Số lượng(số lượng) mặc định là 0.

TẠO BẢNGĐơn đặt hàng(

Số đơn hàng INT KHÔNG VÔ GIÁ TRỊ, -- Mã đơn hàng

Ngày đặt hàng NGÀY GIỜ KHÔNG VÔ GIÁ TRỊ-- ngày đặt hàng

MẶC ĐỊNH Hẹn gặp()

Hàm GetDate() trả về ngày hiện tại 8

Số lượng NHỎ KHÔNG VÔ GIÁ TRỊ-- Số lượng hàng hoá, MẶC ĐỊNH 0);

3. Khai báo khóa chính (KHÓA CHÍNH)

Khóa chính đơn giản được khai báo bằng từ PRIMARYKEY khi tạo bảng. Ví dụ,

TẠO NÊNBÀN Nhân viên( -- bảng "Nhân viên"

TabNum INTSƠ ĐẲNGCHÌA KHÓA, -- khóa chính

Tên NVARCHAR(40) KHÔNGVÔ GIÁ TRỊ, -- HỌ VÀ TÊN

... -- mô tả các cột khác);

Khóa chính tổng hợp được khai báo khác nhau:

-- cách 1 (quảng cáoPKkhi tạo bảng)

TẠO BẢNG Khách hàng(

PassSeria SỐ(4,0)KHÔNG VÔ GIÁ TRỊ,-- loạt hộ chiếu

Số Pas SỐ(6,0)KHÔNG VÔ GIÁ TRỊ,-- con số hộ chiếu

Tên NVARCHAR(40)KHÔNG VÔ GIÁ TRỊ,

Điện thoại CHAR(12),

-- khai báo khóa chính tổng hợp

HẠN CHẾ Khách hàng_PK

SƠ ĐẲNG CHÌA KHÓA(PasSeria, PasNumber));

-- cách 2(PKkhai báo sau khi tạo bảng)

-- trước tiên hãy tạo một bảng không cóPK

TẠO NÊN BÀN Khách hàng(

PassSeria SỐ(4,0)KHÔNG VÔ GIÁ TRỊ,--loạt hộ chiếu

Số Pas SỐ(6,0)KHÔNG VÔ GIÁ TRỊ,--con số hộ chiếu

Tên khách hàng NVARCHAR(40)KHÔNG VÔ GIÁ TRỊ,

Điện thoại CHAR(12));

-- sửa đổi những cái bànthêm vào RK

THAY ĐỔI BÀN Khách hàng

THÊM VÀO HẠN CHẾ Khách hàng_PK

SƠ ĐẲNG CHÌA KHÓA(PasSeria, Số Pas);

4. Tính duy nhất của cột (ĐỘC NHẤT)

Giống Sơ đẳng Chìa khóa chỉ ra rằng một cột hoặc nhóm cột không thể chứa các giá trị trùng lặp, nhưng không PK. Tất cả các cột được khai báo UNIQUE phải là NOTNULL. Một ví dụ về khai báo cột duy nhất đơn giản:

TẠO BẢNG Sinh viên(

INT SƠ ĐẲNG CHÌA KHÓA, -- đại diện RK

FIO NVARCHAR(40) KHÔNG VÔ GIÁ TRỊ, -- HỌ VÀ TÊN

Sổ ghi chép CHAR(6) KHÔNG VÔ GIÁ TRỊ ĐỘC NHẤT); -- Con số kỷ lục

Ví dụ về khai báo trường duy nhất kết hợp:

TẠO NÊN BÀN Nhân viên(-- bàn " Công nhân"

TabNum KHÓA CHÍNH INT, -- thời gian biểu con số

Tên NVARCHAR(40) CÓ GIÁ TRỊ, -- Họ và tên

PassSeria SỐ(4,0) CÓ GIÁ TRỊ, -- loạt hộ chiếu

Số Pas SỐ(6,0) CÓ GIÁ TRỊ, -- con số hộ chiếu

-- thông báo hỗn hợp độc nhất lĩnh vực

HẠN CHẾ Nhân viên_UNQ ĐỘC NHẤT(PasSeria, PasNumber));

5. Những hạn chế TRÊN giá trị cột (KIỂM TRA)

Ràng buộc này cho phép bạn chỉ định một phạm vi, danh sách hoặc "mặt nạ" các giá trị hợp lệ về mặt logic cho một cột.

Ví dụ tạo bảng Công nhân(Công nhân):

TẠO NÊNBÀN Công nhân(

-- Mã số nhân sự 4 chữ số

TabNum KHÓA CHÍNH INT

KIỂM TRA(TabNum GIỮA 1000 9999),

Tên VARCHAR(60) CÓ GIÁ TRỊ, -- Họ và tên người lao động

-- sàn nhàthư " tôi" hoặc " "

quý ông CHAR(1) CÓ GIÁ TRỊ

KIỂM TRA(Gentry TRONG("m","f")),

Tuổi ít nhất 14 năm

Tuổi NHỎ KHÔNG VÔ GIÁ TRỊ KIỂM TRA(Tuổi >=14),

--Số giấy chứng nhận bảo hiểm hưu trí (bằng mặt nạ)

Chứng chỉ hưu trí CHAR(14)

KIỂM TRA(Chế độ hưu trí GIỐNG ""));

Ví dụ này cho thấy các loại kiểm tra khác nhau. Phạm vi giá trị có thể chấp nhận được biểu thị bằng cấu trúc GIỮA…AND; điều kiện bình thường (đối với cột Tuổi) dùng dấu so sánh =,<>, >, >=, <, <=, связанные при необходимости логическими операциямиAND,OR,NOT(например,Tuổi>=14VÀ Tuổi<=70); для указания списка допустимых значений используется предикатINи его отрицаниеNOTIN; конструкция

GIỐNG mặt nạ_allowed_values NGOẠI TRỪ danh sách ngoại lệ

dùng để đặt mặt nạ các giá trị hợp lệ cho các cột chuỗi. Mặt nạ sử dụng hai ký tự đặc biệt: “%” – một chuỗi con tùy ý và “_” – bất kỳ ký tự đơn nào. Mệnh đề EXCEPT là tùy chọn.

Điều kiện chọn CHECK có thể so sánh giá trị của 2 cột của cùng một bảng và các cột của các bảng khác nhau.

1 phiếu bầu

Chào mừng đến với trang blog của tôi. Hôm nay chúng ta sẽ nói về truy vấn sql cho người mới bắt đầu. Một số quản trị trang web có thể có một câu hỏi. Tại sao phải học sql? Không thể qua được sao?

Hóa ra điều này sẽ không đủ để tạo ra một dự án Internet chuyên nghiệp. Sql được sử dụng để làm việc với cơ sở dữ liệu và tạo ứng dụng cho WordPress. Hãy xem cách sử dụng truy vấn chi tiết hơn.

Nó là gì

Sql là một ngôn ngữ truy vấn có cấu trúc. Được thiết kế để xác định loại dữ liệu, cung cấp quyền truy cập vào dữ liệu đó và xử lý thông tin trong khoảng thời gian ngắn. Nó mô tả các thành phần hoặc một số kết quả mà bạn muốn thấy trên dự án Internet.

Nói một cách đơn giản, ngôn ngữ lập trình này cho phép bạn thêm, thay đổi, tìm kiếm và hiển thị thông tin trong cơ sở dữ liệu. Sự phổ biến của mysql là do nó được sử dụng để tạo các dự án Internet động dựa trên cơ sở dữ liệu. Vì vậy, để phát triển một blog chức năng, bạn cần học ngôn ngữ này.

Nó có thể làm gì

Ngôn ngữ sql cho phép bạn:

  • tạo bảng;
  • thay đổi để nhận và lưu trữ dữ liệu khác nhau;
  • kết hợp thông tin thành các khối;
  • bảo vệ dữ liệu;
  • tạo yêu cầu trong quyền truy cập.

Quan trọng! Khi bạn hiểu sql, bạn có thể viết ứng dụng cho WordPress ở bất kỳ mức độ phức tạp nào.

Cấu trúc gì

Cơ sở dữ liệu bao gồm các bảng có thể được trình bày dưới dạng tệp Excel.

Nó có tên, cột và hàng với một số thông tin. Bạn có thể tạo các bảng như vậy bằng truy vấn sql.

Những gì bạn cần biết


Những điểm chính để học Sql

Như đã lưu ý ở trên, các truy vấn được sử dụng để xử lý và nhập thông tin mới vào cơ sở dữ liệu bao gồm các bảng. Mỗi dòng là một mục riêng biệt. Vì vậy, hãy tạo một cơ sở dữ liệu. Để làm điều này, hãy viết lệnh:

Tạo cơ sở dữ liệu 'bazaname'

Chúng tôi viết tên cơ sở dữ liệu bằng tiếng Latin trong dấu ngoặc kép. Hãy cố gắng nghĩ ra một cái tên rõ ràng cho nó. Không tạo cơ sở dữ liệu như “111”, “www” và những thứ tương tự.

Sau khi tạo cơ sở dữ liệu, hãy cài đặt:

ĐẶT TÊN 'utf-8'

Điều này là cần thiết để nội dung trên trang web được hiển thị chính xác.

Bây giờ hãy tạo một bảng:

TẠO BẢNG 'bazaname' . 'bàn' (

id INT(8) KHÔNG NULL AUTO_INCREMENT KHÓA CHÍNH,

nhật ký VARCHAR(10),

vượt qua VARCHAR (10),

ngày NGÀY

Ở dòng thứ hai chúng ta viết ba thuộc tính. Hãy xem ý nghĩa của chúng:

  • Thuộc tính NOT NULL có nghĩa là ô sẽ không trống (trường này là bắt buộc);
  • Giá trị AUTO_INCREMENT là tự động hoàn thành;
  • KHÓA CHÍNH - khóa chính.

Cách thêm thông tin

Để điền các giá trị vào các trường của bảng đã tạo, câu lệnh INSERT được sử dụng. Chúng tôi viết các dòng mã sau:

CHÈN VÀO 'bảng'

(đăng nhập, vượt qua, ngày) GIÁ TRỊ

("Vasa", '87654321', '21-06-2017 18:38:44');

Trong ngoặc, chúng tôi chỉ ra tên của các cột và trong cột tiếp theo - các giá trị.

Quan trọng! Duy trì tính nhất quán trong tên và giá trị cột.

Cách cập nhật thông tin

Để thực hiện việc này, hãy sử dụng lệnh UPDATE. Hãy xem cách thay đổi mật khẩu cho một người dùng cụ thể. Chúng tôi viết các dòng mã sau:

CẬP NHẬT 'bảng' SET pass = '12345678' WHERE id = '1'

Bây giờ hãy thay đổi mật khẩu '12345678'. Những thay đổi xảy ra ở dòng có “id”=1. Nếu bạn không viết lệnh WHERE, tất cả các dòng sẽ thay đổi, không phải một dòng cụ thể.

Tôi khuyên bạn nên mua cuốn sách " SQL dành cho người mới bắt đầu " Với sự trợ giúp của nó, bạn có thể từng bước làm việc chuyên nghiệp với cơ sở dữ liệu. Mọi thông tin đều được cấu trúc theo nguyên tắc từ đơn giản đến phức tạp và sẽ được tiếp nhận tốt.

Làm thế nào để xóa một mục

Nếu bạn viết sai, hãy sửa nó bằng lệnh DELETE. Hoạt động tương tự như CẬP NHẬT. Chúng tôi viết đoạn mã sau:

XÓA TỪ 'bảng' Ở ĐÂU id = '1'

Thông tin lấy mẫu

Để lấy các giá trị từ cơ sở dữ liệu, hãy sử dụng lệnh SELECT. Chúng tôi viết đoạn mã sau:

CHỌN * TỪ 'bảng' Ở ĐÂU id = '1'

Trong ví dụ này, chúng tôi chọn tất cả các trường có sẵn trong bảng. Điều này xảy ra nếu bạn nhập dấu hoa thị “*” vào lệnh. Nếu bạn cần chọn một số giá trị mẫu, hãy viết điều này:

CHỌN nhật ký, chuyển TỪ bảng WHERE id = '1'

Cần lưu ý rằng khả năng làm việc với cơ sở dữ liệu sẽ không đủ. Để tạo một dự án Internet chuyên nghiệp, bạn sẽ phải học cách thêm dữ liệu từ cơ sở dữ liệu vào các trang. Để làm điều này, hãy làm quen với ngôn ngữ lập trình web PHP. Nó sẽ giúp bạn điều này khóa học tuyệt vời của Mikhail Ruskov .


Xóa một bảng

Xảy ra khi sử dụng yêu cầu DROP. Để làm điều này, chúng tôi sẽ viết những dòng sau:

bảng THẢ BẢNG;

Hiển thị bản ghi từ bảng dựa trên điều kiện cụ thể

Hãy xem xét mã này:

CHỌN id, quốc gia, thành phố TỪ bảng WHERE người>150000000

Nó sẽ hiển thị hồ sơ của các quốc gia có dân số hơn một trăm năm mươi triệu người.

Một hiệp hội

Có thể liên kết nhiều bảng với nhau bằng cách sử dụng Join. Xem cách nó hoạt động chi tiết hơn trong video này:

PHP và MySQL

Một lần nữa tôi muốn nhấn mạnh rằng các yêu cầu khi tạo một dự án Internet là điều bình thường. Để sử dụng chúng trong các tài liệu PHP, hãy làm theo thuật toán sau:

  • Kết nối với cơ sở dữ liệu bằng lệnh mysql_connect();
  • Sử dụng mysql_select_db(), chúng tôi chọn cơ sở dữ liệu mong muốn;
  • Chúng tôi xử lý yêu cầu bằng mysql_fetch_array();
  • Đóng kết nối bằng lệnh mysql_close().

Quan trọng! Làm việc với cơ sở dữ liệu không khó. Điều chính là viết yêu cầu một cách chính xác.

Quản trị web mới bắt đầu sẽ nghĩ về nó. Bạn nên đọc gì về chủ đề này? Tôi muốn giới thiệu cuốn sách của Martin Graber " SQL dành cho người bình thường " Nó được viết theo cách mà người mới bắt đầu sẽ hiểu mọi thứ. Hãy sử dụng nó như một cuốn sách tham khảo.

Nhưng đây là một lý thuyết. Điều này hoạt động như thế nào trong thực tế? Trên thực tế, một dự án Internet không chỉ phải được tạo ra mà còn phải được đưa lên TOP Google và Yandex. Khóa học video sẽ giúp bạn điều này “ Tạo và quảng bá trang web ».


Video hướng dẫn

Vẫn còn thắc mắc? Xem video trực tuyến để biết thêm chi tiết.

Phần kết luận

Vì vậy, việc tìm ra cách viết truy vấn sql không khó như bạn tưởng, nhưng bất kỳ quản trị trang web nào cũng cần phải làm điều này. Các khóa học video được mô tả ở trên sẽ giúp giải quyết vấn đề này. Đăng ký nhóm VKontakte của tôi là người đầu tiên biết khi nào có thông tin thú vị mới xuất hiện.