全部产品
Search
文档中心

PolarDB:Operasi SQL Dasar

更新时间:Jul 02, 2025

Topik ini menjelaskan pernyataan SQL umum di PolarDB-X 1.0.

Lihat database

Untuk melihat database:

SHOW DATABASES;

Buat, lihat, dan hapus tabel

  • Membuat tabel.
    • Membuat tabel tunggal:
      CREATE TABLE single_tbl(
       id int, 
       name varchar(30), 
       primary key(id)
      );
    • Membuat tabel dengan fungsi HASH untuk mempartisi kolom tertentu, seperti id:
      CREATE TABLE multi_db_single_tbl(
        id int auto_increment, 
        name varchar(30), 
        primary key(id)
      ) dbpartition by hash(id);
  • Melihat pernyataan yang digunakan untuk membuat tabel.
    • Melihat pernyataan untuk membuat tabel tunggal:
      SHOW CREATE TABLE single_tbl;
    • Melihat pernyataan untuk membuat tabel dengan partisi menggunakan fungsi HASH:
      SHOW CREATE TABLE multi_db_single_tbl;
  • Menghapus tabel.
    • Menghapus tabel tunggal:
      DROP TABLE single_tbl;
    • Menghapus tabel dengan partisi menggunakan fungsi HASH:
      DROP TABLE multi_db_single_tbl;
  • Melihat semua tabel dalam database:
    SHOW TABLES;

Tambah dan hapus kolom, serta modifikasi tipe data

  • Menambah kolom:
    ALTER TABLE multi_db_single_tbl ADD COLUMN textcol text;           
  • Memodifikasi kolom:
    ALTER TABLE multi_db_single_tbl MODIFY COLUMN textcol varchar(40);           
  • Menghapus kolom:
    ALTER TABLE multi_db_single_tbl DROP COLUMN textcol;

Buat, lihat, dan hapus indeks lokal

  • Eksekusi salah satu dari dua pernyataan berikut untuk membuat indeks lokal:
    • CREATE INDEX idx_name ON multi_db_single_tbl (name);
    • ALTER TABLE multi_db_single_tbl ADD INDEX idx_name(name);
  • Melihat indeks lokal:
    SHOW INDEX FROM multi_db_single_tbl;
  • Eksekusi salah satu dari dua pernyataan berikut untuk menghapus indeks lokal:
    • DROP INDEX idx_name ON multi_db_single_tbl;
    • ALTER TABLE multi_db_single_tbl DROP INDEX idx_name;

Sisipkan, ambil, modifikasi, dan hapus data

  • Menyisipkan data ke dalam tabel:
    INSERT INTO multi_db_single_tbl (name) VALUES ('test_name');
    INSERT INTO multi_db_single_tbl (name) VALUES ('test_name');
    INSERT INTO multi_db_single_tbl (name) VALUES ('test_name'),('test_namexx');
  • Mengambil data dari tabel:
    SELECT * FROM multi_db_single_tbl;
  • Memodifikasi data dalam tabel:
    UPDATE multi_db_single_tbl set name='zzz' WHERE id in (100001,100002,100003,100004);
  • Menghapus data dari tabel:
    DELETE FROM multi_db_single_tbl WHERE id = 100002;

Buat, otorisasi, dan hapus pengguna

  • Membuat pengguna:
    CREATE USER 'username'@'host' IDENTIFIED BY 'password';
    Catatan
    • username: akun yang akan dibuat.
    • host: host yang mengizinkan login dengan akun tersebut. Untuk mengizinkan akun login ke database dari semua host, atur parameter ini ke tanda persen (%).
    • password: kata sandi akun.

    Sebagai contoh, Anda dapat menjalankan perintah berikut untuk membuat akun bernama drdsuser dengan kata sandi Drds123456. Akun tersebut dapat login ke database dari semua host.

    CREATE USER drdsuser@'%' IDENTIFIED BY 'Drds123456';
  • Memberikan otorisasi kepada pengguna tertentu untuk mengakses tabel dari database tertentu:
    GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
    Catatan
    • privileges: izin operasi yang ingin diberikan kepada akun, seperti SELECT, INSERT, dan UPDATE. Untuk memberikan semua izin kepada akun, atur parameter ini ke ALL.
    • databasename: nama database. Untuk memberikan izin operasi pada semua database kepada akun, atur parameter ini ke asterisk (*).
    • tablename: nama tabel. Untuk memberikan izin operasi pada semua tabel kepada akun, atur parameter ini ke asterisk (*).
    • username: akun yang ingin diberi izin.
    • host: host yang mengizinkan login dengan akun tersebut. Untuk mengizinkan akun login dari semua host, atur parameter ini ke tanda persen (%).
    • WITH GRANT OPTION: memberikan akun izin untuk menjalankan perintah GRANT. Parameter ini opsional.

    Sebagai contoh, Anda dapat menjalankan perintah berikut untuk memberikan semua izin pada database sample_db dan semua tabel kepada akun drdsuser. Akun tersebut dapat login ke database dari semua host.

    GRANT ALL ON sample_db. * TO drdsuser@'%';
  • Mengecek izin pengguna tertentu:
    SHOW GRANTS FOR 'username'@'host'
  • Menghapus pengguna tertentu:
    DROP USER 'username'@'host'