Rumah > Tutorial sistem > LINUX > Ringkasan pembelajaran Mariadb (2): pengurusan pangkalan data dan jadual

Ringkasan pembelajaran Mariadb (2): pengurusan pangkalan data dan jadual

PHPz
Lepaskan: 2024-07-17 08:58:29
asal
542 orang telah melayarinya
Pengurusan Pangkalan Data

Buddha berkata: "Mula-mula ada pangkalan data, kemudian ada jadual, kemudian ada data..."

Ringkasan pembelajaran Mariadb (2): pengurusan pangkalan data dan jadual

Buat pangkalan data
CREATE DATABASE [IF NOT EXISTS] db_name
    [create_specification] ...

create_specification:
    [DEFAULT] CHARACTER SET [=] charset_name
  | [DEFAULT] COLLATE [=] collation_name
Salin selepas log masuk

Contohnya: Cipta pangkalan data dan tentukan set aksara lalai sebagai UTF-8

SHOW CHARACTER SET;//查看支持的字符集
CREATE DATABASE mydb CHARACTER SET='utf8'; //创建数据库mydb,并指定字符集为utf-8
Salin selepas log masuk
Lihat maklumat penciptaan pangkalan data
MariaDB [(none)]> SHOW CREATE DATABASE mydb;
+----------+---------------------------------------------------------------+
| Database | Create Database                                               |
+----------+---------------------------------------------------------------+
| mydb     | CREATE DATABASE `mydb` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+---------------------------------------------------------------+
1 row in set (0.00 sec)
Salin selepas log masuk
Ubah suai pangkalan data

UBAH {PANGKALAN DATA |. SKEMA} [db_name]
alter_specification ...
ALTER {DATABASE |. SKEMA} db_name
NAIK TARAF NAMA DIREKTOR DATA //Gunakan arahan ini untuk mengekod semula fail pangkalan data semasa menaik taraf pangkalan data

spesifikasi_ubah:
[LAILAI] SET WATAK [=] charset_name
|. [LAILAI] COLLATE [=] collation_nam

Ubah suai set aksara pangkalan data mydb kepada utf-16:

MariaDB [(none)]> ALTER DATABASE mydb CHARACTER SET = utf16;
Query OK, 1 row affected (0.00 sec)
Salin selepas log masuk
Padam pangkalan data

DROP {DATABASE |. SKEMA} [JIKA WUJUD] db_name memadamkan pangkalan data dengan baik. . . cepat! Jadi, fikir-fikirkan sebelum masuk ke dalam kereta.

MariaDB [(none)]> DROP DATABASE IF EXISTS mydb;
Query OK, 0 rows affected (0.00 sec)
Salin selepas log masuk
Tetapkan set aksara lalai pangkalan data

Hanya tambahkan arahan ini pada my.cnf, di bawah [mysqld]:

character_set_server = utf8
Salin selepas log masuk
Pengurusan Meja
Buat jadual
CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    (create_definition,...) [table_options    ]... [partition_options]
Salin selepas log masuk

Yang lebih asas ialah pilihan definisi jadual, seperti berikut:

column_definition:
    data_type
      [NOT NULL | NULL] [DEFAULT default_value | (expression)]
      [AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY]
      [INVISIBLE] [{WITH|WITHOUT} SYSTEM VERSIONING]
      [COMMENT 'string']
      [COLUMN_FORMAT {FIXED|DYNAMIC|DEFAULT}]
      [reference_definition]
Salin selepas log masuk

Contohnya: Buat jadual Pengguna dengan 4 medan: ID, nama pengguna, kata laluan, masa log masuk

MariaDB [mydb]> CREATE TABLE IF NOT EXISTS user(
    -> id INT AUTO_INCREMENT PRIMARY KEY,
    -> username VARCHAR(10) NOT NULL,
    -> password VARCHAR(32) NOT NULL,
    -> logintime TIMESTAMP NOT NULL);
Salin selepas log masuk
Lihat jadual

Dalam Mysql, anda boleh menggunakan DESCRIBE table_name; untuk melihat definisi jadual DESCRIBE boleh dipendekkan sebagai DESC, seperti berikut:

MariaDB [mydb]> DESC user;
+-----------+-------------+------+-----+-------------------+-----------------------------+
| Field     | Type        | Null | Key | Default           | Extra                       |
+-----------+-------------+------+-----+-------------------+-----------------------------+
| id        | int(11)     | NO   | PRI | NULL              | auto_increment              |
| username  | varchar(10) | NO   |     | NULL              |                             |
| password  | varchar(32) | NO   |     | NULL              |                             |
| logintime | timestamp   | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+-----------+-------------+------+-----+-------------------+-----------------------------+
4 rows in set (0.03 sec)
Salin selepas log masuk

Sudah tentu, kita juga boleh menggunakan SHOW CREATE TABLE table_name; untuk melihat arahan yang digunakan untuk menentukan jadual

MariaDB [mydb]> SHOW CREATE TABLE user;
+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                                                                                                                                                                                           |
+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| user  | CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(10) NOT NULL,
  `password` varchar(32) NOT NULL,
  `logintime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf16 |  //这里可以看到这张表使用的存储引擎和字符集
+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
Salin selepas log masuk
Ubah suai jadual

1.为user表添加一个新的字段registtime来记录用户的注册时间

MariaDB [mydb]> ALTER TABLE user ADD COLUMN registtime TIMESTAMP NOT NULL AFTER logintime;
Salin selepas log masuk

所以,添加字段的格式可以为如下:

ALTER TABLE table_name ADD [COLUMN] col_name column_definition
        [FIRST | AFTER col_name ]
Salin selepas log masuk

其中,FIRST与AFTER是指定新添加的字段在什么位置,FIRST代表第一列,而AFTER指示在某一列之后

2.为user表修改一个字段,把刚才新加的registtime字段的数据类型修改为datatime类型

MariaDB [mydb]> ALTER TABLE user MODIFY COLUMN registtime DATETIME;
Salin selepas log masuk

命令格式如下:

ALTER TABLE table_name MODIFY [COLUMN] col_name column_definition
        [FIRST | AFTER col_name]
Salin selepas log masuk

3.修改字段registtime为createtime
MariaDB [mydb]> ALTER TABLE user CHANGE registtime createtime DATETIME NOT NULL;
命令格式如下,需要重新定义下新的字段:

ALTER TABLE table_name CHANGE [COLUMN] old_col_name new_col_name column_definition
        [FIRST|AFTER col_name]
Salin selepas log masuk

4.删除这个createtime字段,所有行的这个字段的数据也会被删除

MariaDB [mydb]> ALTER TABLE user DROP COLUMN createtime;
Salin selepas log masuk

5.修改表名user为users

MariaDB [mydb]> ALTER TABLE user RENAME TO users;
Salin selepas log masuk

6.修改数据表的字符集

MariaDB [mydb]> ALTER TABLE users DEFAULT CHARACTER SET=utf8;
Salin selepas log masuk

7.修改数据表的存储引擎,有关存储引擎这方面暂时了解的不深,所以这条命令....嗯,你懂得。

MariaDB [mydb]> ALTER TABLE users ENGINE=MyISAM;
Salin selepas log masuk

会导致数据重建的...所以,谨慎修改

8.修改数据表的排序字段

MariaDB [mydb]> ALTER TABLE users ORDER BY logintime;
Salin selepas log masuk
删除一个数据表

与删除数据库一样,谨慎按下回车键

MariaDB [mydb]> DROP TABLE IF EXISTS users;
Salin selepas log masuk

Atas ialah kandungan terperinci Ringkasan pembelajaran Mariadb (2): pengurusan pangkalan data dan jadual. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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