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
477 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!

sumber:linuxprobe.com
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