Hướng dẫn what is the structure of mysql? - cấu trúc của mysql là gì?
Trang này thảo luận về các quy tắc cú pháp và cấu trúc để viết các yếu tố sau của các câu lệnh MySQL. Show Các thuật ngữ theo nghĩa đen đề cập đến một giá trị dữ liệu cố định. MySQL đánh giá bảy loại giá trị theo nghĩa đen, chuỗi ký tự, ngày và thời gian, thập lục phân, boolean, bit trường và giá trị null Ký hiệu chữ số được sử dụng để chỉ định số điểm cố định và dấu phẩy động. Số điểm nổi sử dụng '.' như một dấu phân cách thập phân. Cả hai loại số có thể được đi trước bởi '+' hoặc '-' để chỉ ra một số dương hoặc số âm. Bạn có thể sử dụng ký hiệu số nguyên trong các biểu thức, điều kiện, hàm SQL và câu lệnh SQL. Các ví dụ về số nguyên như sau: Một chuỗi là một chuỗi các byte hoặc ký tự, được đặt trong một trích dẫn duy nhất ('W3Resource') hoặc trích dẫn kép ("W3Resource"). Bạn có thể sử dụng ký hiệu theo nghĩa đen trong các biểu thức, điều kiện, hàm SQL và câu lệnh SQL. Dưới đây là một số ví dụ: Lưu ý: Nếu chế độ ANSI_QUOTES SQL được bật, bạn không thể sử dụng dấu ngoặc kép để trích dẫn các chuỗi theo nghĩa đen, vì nó được hiểu là một định danh. Chuỗi nhị phân là một chuỗi các byte không có bộ ký tự hoặc đối chiếu trong khi chuỗi không phải là một chuỗi các ký tự có bộ và đối chiếu ký tự. Đối với cả hai loại chuỗi, so sánh dựa trên các giá trị số của đơn vị chuỗi. Trong một chuỗi, một số trình tự nhất định có ý nghĩa đặc biệt trừ khi chế độ SQL NO_Backslash_escapes (vô hiệu hóa việc sử dụng ký tự Backslash (Hồi \ \) như một ký tự thoát trong chuỗi) được bật. Mỗi chuỗi này bắt đầu bằng một dấu gạch chéo ngược ("\"), được gọi là ký tự thoát. MySQL nhận ra các chuỗi thoát được hiển thị trong bảng sau.
Dưới đây là một số ví dụ: MySQL> SELECT 'w3r', '"w3r"', "'w3r'", '""w3r""', 'w3''resource', '\'w3r', '\"w3r'; +-----+-------+-------+---------+-------------+------+------+ | w3r | "w3r" | 'w3r' | ""w3r"" | w3'resource | 'w3r | "w3r | +-----+-------+-------+---------+-------------+------+------+ | w3r | "w3r" | 'w3r' | ""w3r"" | w3'resource | 'w3r | "w3r | +-----+-------+-------+---------+-------------+------+------+ 1 row in set (0.00 sec) MySQL> SELECT 'The\nQuick\nBrown\nFox'; +---------------------+ | The Quick Brown Fox | +---------------------+ | The Quick Brown Fox | +---------------------+ 1 row in set (0.00 sec) Ngày thời gian nghĩa đen Bạn có thể chỉ định giá trị ngày và thời gian trong một số dạng, chẳng hạn như số hoặc như các chuỗi được trích dẫn, tùy thuộc vào loại chính xác của giá trị và các yếu tố khác. MySQL diễn giải '2017-08-22', '20170822' và 20170822 là một ngày. MySQL nhận ra các giá trị ngày trong các định dạng này:
MySQL nhận ra các giá trị DateTime và Dấu thời gian ở các định dạng sau:
MySQL nhận ra các giá trị thời gian trong các định dạng này:
Nghĩa đen của thập lục phân MySQL hỗ trợ các giá trị thập lục phân, được viết bằng định dạng x'val ', x'val' hoặc 0xVal, trong đó val chứa các chữ số hexadecimal (0..9, a..f). Lettercase của các chữ số không quan trọng. Dưới đây là một số ví dụ: MySQL> SELECT X'773372736F75726365'; +-----------------------+ | X'773372736F75726365' | +-----------------------+ | w3rsource | +-----------------------+ 1 row in set (0.01 sec) MySQL> SELECT 0xC8+0; +--------+ | 0xC8+0 | +--------+ | 200 | +--------+ 1 row in set (0.05 sec) MySQL>SELECT 0x555341; +----------+ | 0x555341 | +----------+ | USA | +----------+ 1 row in set (0.00 sec) Boolean Biết chữ Các hằng số đúng và sai đánh giá tương ứng với 1 và 0. Các tên không đổi có thể được viết cả chữ cái trên và chữ thường. Xem các ví dụ sau: MySQL> SELECT TRUE, true; +------+------+ | TRUE | TRUE | +------+------+ | 1 | 1 | +------+------+ 1 row in set (0.00 sec) MySQL> SELECT FALSE, false; +-------+-------+ | FALSE | FALSE | +-------+-------+ | 0 | 0 | +-------+-------+ 1 row in set (0.00 sec) Bit-Field Ltersals Các giá trị trường bit có thể được viết bằng ký hiệu B'Value 'hoặc 0bvalue. Giá trị là một giá trị nhị phân được viết bằng số không và các giá trị. Giá trị null Giá trị null có nghĩa là không có dữ liệu. NULL có thể được viết trong bất kỳ thư. Tên đối tượng Schema Lược đồ là một tập hợp các cấu trúc logic của các đối tượng dữ liệu hoặc lược đồ. Lược đồ được sở hữu bởi người dùng cơ sở dữ liệu. Trong MySQL, một số đối tượng bao gồm cơ sở dữ liệu, bảng, cột, bí danh, xem, quy trình lưu trữ, phân vùng, không gian bảng và các tên đối tượng khác được gọi là định danh. Một định danh có thể được trích dẫn hoặc không được trích dẫn. Nếu một mã định danh chứa các ký tự đặc biệt hoặc là một từ dành riêng, bạn phải trích dẫn nó bất cứ khi nào bạn tham khảo nó. Định danh được chuyển đổi thành Unicode nội bộ. Chúng có thể chứa các ký tự này:
Bảng sau đây cho thấy độ dài tối đa cho từng loại định danh
Vòng loại định danh MySQL cho phép các tên bao gồm một định danh duy nhất hoặc nhiều định danh. Các thành phần của một tên nhiều phần phải được phân tách theo thời gian ("."). Các phần ban đầu của tên nhiều phần đóng vai trò là vòng loại ảnh hưởng đến bối cảnh trong đó định danh cuối cùng được giải thích. Trong MySQL, bạn có thể tham khảo cột bảng bằng bất kỳ biểu mẫu nào sau đây. Cột tham chiếu đến col_name cột & nbsp; col_name & nbsp; từ bất kỳ bảng nào được sử dụng trong câu lệnh chứa một cột của tên đó. tbl_name.col_name cột & nbsp; col_name & nbsp; từ bảng & nbsp; tbl_name & nbsp; của cơ sở dữ liệu mặc định. db_name.tbl_name.col_name cột & nbsp; col_name & nbsp; từ bảng & nbsp; tbl_name & nbsp; của cơ sở dữ liệu & nbsp; db_name. Nhân vật vòng loại là một mã thông báo riêng biệt và không cần phải tiếp giáp với các định danh liên quan. Ví dụ: tbl_name.col_name và tbl_name. col_name tương đương. Độ nhạy trường hợp định danh Trong cơ sở dữ liệu của MySQL, bảng và tên kích hoạt không nhạy cảm với Windows, nhưng trường hợp nhạy cảm trong hầu hết các giống UNIX. Trong Mac OS X, dựa trên UNIX nhưng sử dụng loại hệ thống tệp mặc định (HFS+) không nhạy cảm với trường hợp. Cột, chỉ mục, thói quen được lưu trữ và tên sự kiện không nhạy cảm với bất kỳ nền tảng nào, cũng không phải là bí danh cột, nhưng các nhóm logfile nhạy cảm. Điều này khác với SQL tiêu chuẩn. Theo mặc định, các bí danh bảng nhạy cảm với UNIX, nhưng không như vậy trên Windows hoặc Mac OS X. Ánh xạ các định danh vào tên tệp Có một sự tương ứng giữa cơ sở dữ liệu và số nhận dạng bảng và tên trong hệ thống tệp. MySQL đại diện cho mỗi cơ sở dữ liệu dưới dạng thư mục trong thư mục dữ liệu và mỗi bảng bằng một hoặc nhiều tệp trong thư mục cơ sở dữ liệu phù hợp. Đối với các tệp định dạng bảng (.frm), dữ liệu luôn được lưu trữ trong cấu trúc và vị trí này. Đối với các tệp dữ liệu và chỉ mục, biểu diễn chính xác trên đĩa là cụ thể của công cụ lưu trữ. Các tệp này có thể được lưu trữ ở cùng một vị trí với các tệp FRM hoặc thông tin có thể được lưu trữ trong một tệp riêng biệt. Dữ liệu Innodb được lưu trữ trong các tệp dữ liệu Innodb. Nếu bạn đang sử dụng các không gian bảng với Innodb, thì các tệp không gian bảng cụ thể bạn tạo được sử dụng thay thế. Bất kỳ ký tự nào là hợp pháp trong cơ sở dữ liệu hoặc định danh bảng trừ ASCII NUL (0x00). MySQL mã hóa bất kỳ ký tự nào có vấn đề trong các đối tượng hệ thống tệp tương ứng khi nó tạo thư mục cơ sở dữ liệu hoặc tệp bảng:
Ánh xạ các định danh vào tên tệp MySQL 5.6 hỗ trợ các chức năng tích hợp (gốc), chức năng do người dùng xác định (UDFS) và các chức năng được lưu trữ. Phân tích tên chức năng tích hợp: Trình phân tích cú pháp sử dụng các quy tắc mặc định cho tên phân tích cú pháp của các hàm tích hợp. Các quy tắc này có thể được thay đổi bằng cách bật chế độ SQL bỏ qua_space. Khi trình phân tích cú pháp gặp phải một từ là tên của hàm tích hợp, nó phải xác định xem tên có biểu thị cuộc gọi hàm hay thay vào đó Độ phân giải tên chức năng: Các quy tắc sau mô tả cách máy chủ giải quyết các tham chiếu đến tên chức năng để tạo chức năng và gọi: The following rules describe how the server resolves references to function names for function creation and invocation :
MySQL: Các biến do người dùng xác định Trong MySQL, bạn có thể lưu trữ một giá trị trong biến do người dùng xác định trong một câu lệnh và sau đó bạn có thể tham khảo trong một câu lệnh khác. Điều này cho phép bạn chuyển các giá trị từ câu lệnh này sang câu lệnh khác. Các biến do người dùng xác định là dành riêng cho phiên, do đó các biến này là riêng tư cho một người dùng cụ thể và một người dùng khác không thể nhìn thấy hoặc sử dụng chúng. Tất cả các biến cho một phiên khách hàng nhất định được tự động giải phóng khi máy khách đó thoát. Cú pháp: @var_name var_name bao gồm các ký tự chữ và số, ".", "_" Và "$". Tên biến người dùng có thể chứa các ký tự khác nếu bạn trích dẫn nó dưới dạng chuỗi hoặc mã định danh (ví dụ: @'my-var', @"My-var" hoặc @`my-var`). Lưu ý: Tên biến người dùng không nhạy cảm trường hợp trong MySQL 5.0 trở lên. @var_name Một cách để đặt biến do người dùng xác định là bằng cách phát hành câu lệnh SET: SET @var_name = expr [, @var_name = expr] ... Thí dụ : MySQL> SET @x = 10; @y = 20; @z: = 30; Query OK, 0 rows affected (0.07 sec) MySQL> SELECT @x, @y, @z; +------+------+------+ | @x | @y | @z | +------+------+------+ | 10 | 20 | 30 | +------+------+------+ 1 row in set (0.00 sec) Để biết thêm chi tiết, hãy đọc các biến trong các chương trình được lưu trữ. MySQL: Biểu thức cú pháp Các quy tắc sau đây xác định cú pháp biểu thức trong MySQL. Ngữ pháp được hiển thị ở đây dựa trên các ngữ pháp được đưa ra trong tệp SQL/SQL_YACC.YY của các bản phân phối nguồn MySQL. expr:
boolean_primary:
so sánh_operator: = | > = | > | Thuộc tính :
gbit_expr:
Simple_expr:
Cú pháp nhận xét MySQL MySQL hỗ trợ ba kiểu bình luận:
Xem các ví dụ sau: MySQL> SELECT 1+1; # Single line comment MySQL> SELECT 1+1; -- Single line comment MySQL> SELECT 1 /* In-line comment*/ + 1; MySQL> SELECT 1+ /* this is a multiple-line comment */ 1; MySQL từ dành riêng Một số từ như Chọn, Xóa hoặc Bigint được bảo lưu và yêu cầu xử lý đặc biệt để sử dụng làm định danh như tên bảng và cột. Bảng sau đây liệt kê các từ dành riêng của MySQL. Những từ dành riêng trong MySQL 5.6
Trước đó: Các công cụ lưu trữ MySQL (loại bảng) Tiếp theo: Kiểu dữ liệu MySQL MySQL Storage Engines (table types) Làm cách nào để tìm cấu trúc của bảng MySQL?Tìm hiểu MySQL từ đầu cho khoa học và phân tích dữ liệu để hiển thị lược đồ, chúng ta có thể sử dụng lệnh DSC. Điều này đưa ra mô tả về cấu trúc bảng.
Cấu trúc của cơ sở dữ liệu được gọi là gì?Lược đồ cơ sở dữ liệu là cấu trúc của cơ sở dữ liệu được mô tả trong ngôn ngữ chính thức được hỗ trợ bởi Hệ thống quản lý cơ sở dữ liệu (DBMS). Thuật ngữ "lược đồ" đề cập đến việc tổ chức dữ liệu như một kế hoạch chi tiết về cách xây dựng cơ sở dữ liệu (được chia thành các bảng cơ sở dữ liệu trong trường hợp cơ sở dữ liệu quan hệ).database schema is the structure of a database described in a formal language supported by the database management system (DBMS). The term "schema" refers to the organization of data as a blueprint of how the database is constructed (divided into database tables in the case of relational databases).
Các yếu tố cơ bản của MySQL là gì?Chương 9 Cấu trúc ngôn ngữ Các giá trị theo nghĩa đen như chuỗi và số.Các định danh như cơ sở dữ liệu, bảng và tên cột.Từ khóa và từ dành riêng.Các biến số do người dùng xác định và hệ thống.Literal values such as strings and numbers. Identifiers such as database, table, and column names. Keywords and reserved words. User-defined and system variables.
Lược đồ mặc định MySQL là gì?Mỗi MySQL được vận chuyển với các lược đồ/cơ sở dữ liệu hệ thống mặc định.Đó là: MySQL - là cơ sở dữ liệu hệ thống chứa các bảng lưu trữ thông tin theo yêu cầu của máy chủ MySQL.Thông tin_Schema - Cung cấp quyền truy cập vào siêu dữ liệu cơ sở dữ liệu.mysql - is the system database that contains tables that store information required by the MySQL server. information_schema - provides access to database metadata. |