Mulakan perjalanan MySQL anda

WBOY
Lepaskan: 2023-09-02 14:10:02
asal
1343 orang telah melayarinya

Walaupun kemunculan pangkalan data NoSQL moden seperti MongoDB, Firebase dan Redis dalam beberapa tahun kebelakangan ini, pangkalan data SQL kekal sangat popular di kalangan pembangun.

SQL (Bahasa Pertanyaan Berstruktur) ialah bahasa yang digunakan untuk berinteraksi dengan data dalam pelbagai pangkalan data, termasuk pangkalan data popular seperti MySQL, PostgreSQL, Oracle dan MS SQL Server.

Dalam artikel ini, anda akan mempelajari semua yang anda perlu ketahui untuk bermula dengan MySQL, pangkalan data sumber terbuka yang memperkasakan sistem pengurusan kandungan seperti WordPress, platform e-dagang seperti Shopify dan platform media sosial seperti Twitter.

Anda akan mempelajari cara MySQL berfungsi, pangkalan data hubungan dan beberapa konsep utamanya, cara memasang dan berinteraksi dengan pangkalan data MySQL menggunakan baris arahan, dan sintaks SQL moden untuk mencipta, membaca, mengemas kini dan memadam data dalam MySQL.

Ketahui tentang Object Relational Mapper (ORM)

Kebanyakan pembangun yang bekerja dengan pangkalan data hubungan sebenarnya tidak menulis SQL mentah. Lebih biasa, mereka menggunakan perpustakaan yang melakukan pemetaan hubungan objek, atau ORM.

Perpustakaan ini pada asasnya menjadikan jadual pangkalan data anda kelihatan seperti objek pada bahagian pelayan tapak anda, jadi anda boleh memanipulasi data dengan mudah menggunakan mana-mana bahasa pengaturcaraan berorientasikan objek pilihan anda.

Contoh ORM termasuk Sequelize (JavaScript), Eloquent (Laravel), SQLAlchemy (Python) dan Active Record (Ruby on Rails).

ORM menghapuskan keperluan untuk menulis kod SQL mentah. Sebaliknya, anda boleh menggunakan pengetahuan anda tentang pengaturcaraan berorientasikan objek untuk mencipta, membaca, mengemas kini dan memadam data pada pangkalan data SQL. ORM menjadikan penggunaan pangkalan data hubungan lebih mudah dan lebih intuitif.

Sistem Pengurusan Pangkalan Data Perhubungan (RDMS)

Pada asasnya, sistem pengurusan pangkalan data hubungan terdiri daripada dua komponen utama: pangkalan data dan bahasa pertanyaan.

Pangkalan data itu sendiri hanyalah koleksi jadual. Dalam setiap jadual, data sebenar anda disusun ke dalam lajur dan baris, sama seperti hamparan. Jadual dalam pangkalan data hubungan boleh dipautkan atau berkaitan berdasarkan data biasa untuk setiap jadual.

Bahasa pertanyaan digunakan untuk memanipulasi dan membaca data dalam pangkalan data. Bagi kebanyakan pangkalan data hubungan, bahasa pertanyaan yang digunakan untuk memanipulasi data ialah variasi SQL.

Beberapa konsep utama dalam pangkalan data SQL

Jika anda ingin mempelajari cara menggunakan MySQL, kita mesti terlebih dahulu memahami beberapa konsep asas untuk menerangkan konsep pangkalan data SQL berikut secara visual, saya akan menggunakan alat visualisasi pangkalan data yang dipanggil DrawSQL. Pertama, kita akan belajar tentang skema dan jenis data.

Skema dan jenis data

Anda boleh menganggap skema sebagai pelan tindakan yang mentakrifkan keseluruhan struktur jadual dan hubungannya dengan jadual lain.

Sebagai contoh, pertimbangkan skema jadual

Pengguna berikut:

踏上您的 MySQL 之旅Jadual pengguna
Dalam rajah jadual di atas, anda akan melihat bahawa setiap baris ialah kamus di mana kekunci mewakili lajur dalam pangkalan data dan nilai mewakili jenis data yang boleh disimpan di dalamnya.

Terdapat pelbagai jenis data dalam MySQL, dan jenis data pangkalan data SQL yang berbeza juga berbeza.

Anda juga akan melihat bahawa kekunci id yang menerima nilai integer juga didahului oleh kekunci. Ini menunjukkan bahawa id ditakrifkan menggunakan

kekangan kunci utamaid 键前面也有一个键。这表明 id 是使用主键约束定义的。

因此每一列的id的值不能为空,且必须唯一。因此,两个或多个用户永远不能共享相同的主键,并且每一行都可以通过其主键来标识。

这些规则共同构成了users 表的架构。

让我们更深入地了解 MySQL 数据库中的约束。

约束

我们之前看到了主键约束,它确保指定键的值对于表中的每一列都是唯一的。

在 MySQL 中,约束是允许或限制表中存储哪些值的规则。它们有助于限制将插入表中的数据类型,确保表内数据的准确性和完整性。

MySQL 中常用以下约束:

  • NOT NULL:确保列不能有 NULL 值
  • UNIQUE:确保列中的所有值都彼此不同
  • 主键:NOT NULL 和UNIQUE 的组合——唯一标识表中的每一行
  • 外键:用于将两个表链接在一起
  • CREATE INDEX:用于快速创建数据库并从数据库检索数据
  • CHECK:确保列中的值满足指定条件
  • DEFAULT.
Oleh itu, nilai id dalam setiap lajur tidak boleh kosong dan mestilah unik. Oleh itu, dua atau lebih pengguna tidak boleh berkongsi kunci utama yang sama dan setiap baris boleh dikenal pasti melalui kunci utamanya.

Peraturan ini bersama-sama membentuk struktur jadual

pengguna.

Mari kita lihat dengan lebih mendalam tentang kekangan dalam pangkalan data MySQL. 🎜 🎜Kekangan🎜 🎜Kami melihat lebih awal kekangan kunci utama, yang memastikan bahawa nilai kunci yang ditentukan adalah unik untuk setiap lajur dalam jadual. 🎜 🎜Dalam MySQL, kekangan ialah peraturan yang membenarkan atau menyekat nilai mana yang disimpan dalam jadual. Mereka membantu mengehadkan jenis data yang akan dimasukkan ke dalam jadual, memastikan ketepatan dan kesempurnaan data dalam jadual. 🎜 🎜Kekangan berikut biasanya digunakan dalam MySQL: 🎜
  • NOT NULL: Pastikan lajur tidak boleh mempunyai nilai NULL🎜
  • UNIK: Pastikan semua nilai dalam lajur berbeza antara satu sama lain🎜
  • Kunci utama: Gabungan NOT NULL dan UNIQUE - secara unik mengenal pasti setiap baris dalam jadual🎜
  • Kunci asing: digunakan untuk memautkan dua jadual bersama🎜
  • CREATE INDEX: digunakan untuk mencipta pangkalan data dengan cepat dan mendapatkan semula data daripada pangkalan data🎜
  • SEMAK: Pastikan nilai dalam lajur memenuhi syarat yang ditetapkan🎜
  • DEFAULT: Menetapkan nilai lalai untuk lajur jika tiada nilai ditentukan🎜 🎜 🎜Penormalan pangkalan data🎜 🎜Untuk menambah lebih banyak konteks, mari kita anggap bahawa jadual 🎜Pengguna🎜 digunakan untuk menyimpan pengguna berdaftar dalam tapak web beli-belah dalam talian. 🎜

    Biasanya, pangkalan data laman web membeli-belah dalam talian mesti mempunyai jadual produk dan keranjang belanja. produk akan mengandungi semua produk yang tersedia untuk pengguna dan troli beli-belah akan mengandungi item khusus yang pengguna tertentu ingin beli bersama-sama kuantiti setiap item. p>

    Semua jadual yang dibuat setakat ini adalah seperti berikut:

    踏上您的 MySQL 之旅

    Semua jadual ini adalah entiti unik. Ini bermakna, sebagai contoh, jadual carts tidak perlu menyimpan sebarang maklumat tentang pengguna.

    Secara teknikal, tiada apa yang menghalang kami daripada menggabungkan data troli beli-belah ke dalam jadual pengguna. Lagipun, kedua-dua set maklumat adalah berkaitan (pengguna mempunyai troli beli-belah). Walau bagaimanapun, pendekatan ini akhirnya membawa kepada meja sesak yang sangat sukar untuk diurus.

    Sebaliknya, kami mengambil pendekatan yang lebih mampan dan mencipta troli beli-belah yang berasingan untuk menyimpan semua data berkaitan troli beli-belah. Kami kemudian membuat rujukan kepada jadual lain dengan meletakkan kunci asing user_id dan product_id dalam jadual user_idproduct_id 放置在 carts 表中来创建对其他表的引用。

    这样,购物车就可以访问有关拥有购物车的用户以及购物车中存在的产品的任何信息,尽管其中没有实际存储任何此类信息。

    这种在关系数据库中组合和链接表的方法称为规范化。我在本文中只涉及了规范化的基础知识 - 如果您正在为 Web 应用程序设计数据库模式,那么值得阅读更多有关规范化的内容。

    安装并学习如何使用 MySQL

    现在我们已经对 MySQL 和 MySQL 服务器有了更高层次的了解,让我们通过在我们的系统上安装 MySQL 来进行实践。

    要在系统上安装 MySQL,请转至 MySQL 社区下载页面并下载 MySQL 安装程序。

    下载完成后,运行安装程序并完成安装向导以安装 MySQL。

    选择安装类型时,请确保包含 MySQL 服务器产品。我建议使用开发人员默认选项。

    在 MySQL 入门的设置过程中,系统会要求您创建用户名和密码。请务必记住这些,因为稍后您将需要它们来连接到数据库。

    成功安装后,您应该可以从命令行访问 MySQL 服务器命令。

    但是,要从命令行使用 MySQL,您首先需要验证自己的身份。运行以下命令,并在占位符中填写您的用户名:

    mysql -u <your username> -p
    
    Salin selepas log masuk

    系统将提示您输入管理员密码,如果这两个详细信息均正确,您将被授予从命令行访问 MySQL 的权限。

    请记住,MySQL 的默认用户名是root,默认密码为空。

    MySQL 如何处理常见 SQL 操作?

    创建 MySQL 服务器和数据库

    要在 MySQL 中创建数据库,我们使用 CREATE DATABASE 语句,后跟数据库名称:

    CREATE DATABASE shopping_site;
    
    Salin selepas log masuk

    语句是告诉系统做某事的代码。 SQL 语句始终以分号结尾。大写的单词是保留的 SQL 关键字,SQL 将解释它们来执行某些操作。

    运行上述命令将在 MySQL 中创建一个名为 shopping_site 的空数据库。

    要查看 MySQL 实例中存在的所有数据库,请运行 SHOW DATABASE

    在数据库中创建表

    要在新数据库中创建表,请使用 CREATE TABLE 语句,后跟表名称和包含我们要在此表中包含的列列表的括号:

    CREATE TABLE users(
        id INT PRIMARY KEY AUTO_INCREMENT,
        first_name VARCHAR(255),
        last_name VARCHAR(255),
        email VARCHAR(255) UNIQUE NOT NULL,
        password VARCHAR(255),
        created_at TIMESTAMP,
        updated_at TIMESTAMP
    );
    
    Salin selepas log masuk

    对于用户中的每一列,我们指定了该列的数据类型。我们还向 idemail 列添加了一系列约束。

    运行该命令将在数据库中创建一个名为users的空但结构化的表。

    在表中创建新记录

    要在表中创建新记录,请使用 INSERT INTOcarts

    .

    Dengan cara ini troli beli-belah boleh mengakses sebarang maklumat tentang pengguna yang memiliki troli dan produk yang terdapat dalam troli, walaupun tiada maklumat sedemikian sebenarnya disimpan di dalamnya.

    Kaedah menggabungkan dan memautkan jadual dalam pangkalan data hubungan dipanggil normalisasi . Saya hanya menyentuh tentang asas normalisasi dalam artikel ini - jika anda mereka bentuk skema pangkalan data untuk aplikasi web, anda patut membaca lebih lanjut mengenai normalisasi.

    Pasang dan ketahui cara menggunakan MySQL

    Sekarang kita mempunyai pemahaman tahap yang lebih tinggi tentang MySQL dan Pelayan MySQL, mari berlatih dengan memasang MySQL pada sistem kami.
    Untuk memasang MySQL pada sistem anda, pergi ke halaman Muat Turun Komuniti MySQL dan muat turun pemasang MySQL. #🎜🎜# #🎜🎜#Selepas muat turun selesai, jalankan pemasang dan lengkapkan wizard pemasangan untuk memasang MySQL. #🎜🎜# #🎜🎜#Apabila memilih jenis pemasangan, pastikan anda memasukkan produk MySQL Server. Saya syorkan menggunakan pilihan #🎜🎜# lalai pembangun #🎜🎜#. #🎜🎜# #🎜🎜# #🎜🎜# #🎜🎜#Semasa proses persediaan bermula dengan MySQL, anda akan diminta untuk mencipta nama pengguna dan kata laluan. Pastikan anda mengingati ini kerana anda akan memerlukannya kemudian untuk menyambung ke pangkalan data. #🎜🎜# #🎜🎜# #🎜🎜#Selepas pemasangan berjaya, anda sepatutnya boleh mengakses arahan pelayan MySQL dari baris arahan. #🎜🎜# #🎜🎜# Walau bagaimanapun, untuk menggunakan MySQL daripada baris arahan, anda perlu mengesahkan diri anda terlebih dahulu. Jalankan arahan berikut dan isikan ruang letak dengan nama pengguna anda: #🎜🎜#
    INSERT INTO users(first_name, last_name, email, password)
    VALUES(
        'Kingsley',
        'Ubah',
        'ubahthebuilder@gmail.com',
        '12345678'
    );
    
    Salin selepas log masuk
    #🎜🎜# Anda akan digesa untuk kata laluan pentadbir anda dan jika kedua-dua butiran adalah betul, anda akan diberikan akses kepada MySQL dari baris arahan. #🎜🎜# #🎜🎜#Sila ingat bahawa nama pengguna lalai untuk MySQL ialah #🎜🎜#root#🎜🎜# dan kata laluan lalai kosong. #🎜🎜#

    Bagaimanakah MySQL mengendalikan operasi SQL biasa?

    Buat pelayan MySQL dan pangkalan data

    #🎜🎜#Untuk mencipta pangkalan data dalam MySQL, kami menggunakan pernyataan CREATE DATABASE, diikuti dengan nama pangkalan data: #🎜🎜#
    SELECT * FROM users;
    
    Salin selepas log masuk
    Salin selepas log masuk
    #🎜🎜# Penyata ialah kod yang memberitahu sistem untuk melakukan sesuatu. Pernyataan SQL sentiasa berakhir dengan koma bertitik. Perkataan berhuruf besar ialah kata kunci SQL yang dikhaskan, dan SQL akan mentafsirkannya untuk melaksanakan operasi tertentu. #🎜🎜# #🎜🎜#Menjalankan arahan di atas akan mencipta pangkalan data kosong bernama #🎜🎜#shopping_site#🎜🎜# dalam MySQL. #🎜🎜# #🎜🎜#Untuk melihat semua pangkalan data yang terdapat dalam contoh MySQL, jalankan SHOW DATABASE. #🎜🎜#

    Buat jadual dalam pangkalan data

    #🎜🎜#Untuk mencipta jadual dalam pangkalan data baharu, gunakan pernyataan CREATE TABLE, diikuti dengan nama jadual dan kurungan yang mengandungi senarai lajur yang ingin kami sertakan dalam jadual ini: #🎜🎜#
    SELECT id, email FROM users;
    
    Salin selepas log masuk
    Salin selepas log masuk
    #🎜🎜#Untuk setiap lajur dalam #🎜🎜#pengguna#🎜🎜#, kami menentukan jenis data lajur. Kami juga menambah satu siri kekangan pada lajur #🎜🎜#id#🎜🎜# dan #🎜🎜#email#🎜🎜#. #🎜🎜# #🎜🎜#Menjalankan arahan ini akan mencipta jadual kosong tetapi berstruktur bernama #🎜🎜#pengguna#🎜🎜# dalam pangkalan data. #🎜🎜#

    Buat rekod baharu dalam jadual

    #🎜🎜#Untuk mencipta rekod baharu dalam jadual, gunakan pernyataan INSERT INTO, diikuti dengan jadual di mana nilai akan dimasukkan: #🎜🎜#
    DROP TABLE users;
    
    Salin selepas log masuk
    Salin selepas log masuk
    #🎜🎜#Dalam kurungan pertama, kami nyatakan lajur yang kami ingin masukkan nilainya. Kemudian, dalam kurungan kedua, kami menentukan nilai yang akan dimasukkan dalam susunan yang betul. #🎜🎜# #🎜🎜# Menjalankan arahan ini akan memasukkan nilai ini ke dalam lajur yang ditentukan dalam jadual #🎜🎜#users#🎜🎜#. #🎜🎜# #🎜🎜# #🎜🎜##🎜🎜# #🎜🎜#Oleh kerana kami menetapkan medan #🎜🎜#id#🎜🎜# kepada auto-increment, nilai ini akan ditambah secara automatik. Selain itu, cap masa dijana secara automatik oleh MySQL, jadi kami tidak perlu menentukannya sendiri. #🎜🎜# #🎜🎜#

    从表中读取

    要从数据库查询数据,请使用 SELECT 语句。

    例如,如果我们想从 users 表中选择所有内容,我们可以使用以下语句:

    SELECT * FROM users;
    
    Salin selepas log masuk
    Salin selepas log masuk

    星号 (*) 代表我们数据库中的所有内容。该语句将返回整个表以及每一列。

    如果我们只需要列的子集,例如 idemail,我们可以指定列来代替星号:

    SELECT id, email FROM users;
    
    Salin selepas log masuk
    Salin selepas log masuk

    在选择数据方面,我们的能力是无限的。

    删除表格

    要从 MySQL 中完全删除表,请使用 DROP 语句,后跟表名称:

    DROP TABLE users;
    
    Salin selepas log masuk
    Salin selepas log masuk

    现在,使用此命令时需要小心!它将永久删除users表中的所有数据。另外,不要将其与 DROP DATABASE 语句混淆,该语句会删除整个数据库。

    就是这样!现在您知道如何使用 MySQL!

    MySQL 是一个开源关系数据库管理系统,即使在今天,它仍然为网络的重要部分提供支持。结构化查询语言或 SQL 用于在 MySQL 数据库中操作和存储数据。

    在这篇文章中,我们回顾了 SQL 的一些关键概念,包括 ORM、模式、约束和数据库规范化。我们还回顾了 MySQL 的安装和设置过程。

    最后,我们介绍了一些负责在 MySQL 中操作数据的 SQL 语句。

Atas ialah kandungan terperinci Mulakan perjalanan MySQL anda. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!