亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 編程設計 > 正文

MySQL數據庫創建、修改和刪除表操作實例介紹

2020-06-27 15:35:23
字體:
來源:轉載
供稿:網友

其實對很多人來說對于SQL語句已經忘了很多,或者說是不懂很多,因為有數據庫圖形操作軟件,方便了大家,但是我們不能忘記最根本的東西,特別是一些細節上的東西,可能你用慣了Hibernate,不用寫SQL語句,但是不是任何項目都要用到大框架的,如果不用,那你是不是就不會操作數據庫了呢,所以我們最好還是熟悉一點好,對我們以后找工作和工作都有幫助。

在說創建、修改和刪除表前,我們還是要進行一個操作的簡單說明:

1.登陸數據庫系統

在命令行中登陸MySQL數據庫管理系統,輸入一下內容:

mysql -h localhost -u root -p

很多人都知道這個,但是其中參數的具體表示什么我們還是要了解的,其中,“-h”參數指連接的主機名,所以后面是localhost;“-u”參數表示用戶名,此處的用戶名為root;“-p”參數表示用戶的密碼,按下Enter鍵后就顯示“Enter password:”,輸入密碼即可登錄進去了。

2.創建數據庫

在創建數據庫之前,我們可以查看已經存在的數據庫:

mysql> SHOW DATABASES;+--------------------+| Database           |+--------------------+| information_schema || community          || community_test     || data               || mydata             || mysql              || performance_schema || test               |+--------------------+8 rows in set (0.04 sec)

創建數據庫的格式:CREATE DATABASE 數據庫名;

示例:創建一個名為example的數據庫

mysql>  CREATE DATABASE example;Query OK, 1 row affected (0.00 sec)mysql>  SHOW DATABASES;+--------------------+| Database           |+--------------------+| information_schema || community          || community_test     || data               || example            || mydata             || mysql              || performance_schema || test               |+--------------------+9 rows in set (0.00 sec)

3.刪除數據庫:

格式:DROP DATABASE 數據庫名;

示例:刪除example數據庫

mysql>  DROP DATABASE example;Query OK, 0 rows affected (0.07 sec)mysql> SHOW DATABASES;+--------------------+| Database           |+--------------------+| information_schema || community          || community_test     || data               || mydata             || mysql              || performance_schema || test               |+--------------------+8 rows in set (0.00 sec)

4.數據庫存儲引擎

存儲引擎就是指表的類型,數據庫存儲引擎決定了表在計算機的存儲方式。

MySQL中查詢存儲引擎的類型命令:SHOW ENGINES;

mysql> SHOW ENGINES;+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+| Engine             | Support | Comment                | Transactions | XA   | Savepoints |+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+| FEDERATED          | NO      | Federated MySQL storage engine                | NULL         | NULL | NULL       || MRG_MYISAM         | YES     | Collection of identical MyISAM tables                | NO           | NO   | NO         || MyISAM             | YES     | MyISAM storage engine                | NO           | NO   | NO         || BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         || CSV                | YES     | CSV storage engine                | NO           | NO   | NO         || MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         || ARCHIVE            | YES     | Archive storage engine                | NO           | NO   | NO         || InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        || PERFORMANCE_SCHEMA | YES     | Performance Schema                | NO           | NO   | NO         |+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+9 rows in set (0.00 sec)

查詢結果中,Engine參數指存儲引擎名稱;Support參數說明MySQL是否支持該類型引擎;Comment參數表示對該引擎的評論;Transaction參數表示是否支持事務處理;XA參數表示是否分布式交易處理的XA規范;Savepoints參數表示是否支持保存點,以方便事務的回滾操作;由上面我們看到InnoDB存儲引擎是default的,也就是數據庫默認的存儲引擎,下面我們簡單介紹一下InnoDB。

InnoDB是MySQL的一種存儲引擎,InnoDB給MySQL提供了事務、回滾、崩潰修復能力和多版本并發控制的事務安全。InnoDB是MySQL上第一個提供外鍵約束的表引擎,而且對事務處理的能力,也是其他存儲引擎不能比擬的。不過這種引擎的缺點就是讀寫效率稍差,占用的數據空間相對比較大。

下面就是正式的內容:

創建表:

1)創建表的形式:

CREATE TABLE 表名 (    屬性名 數據類型 [完整約束條件],    屬性名 數據類型 [完整約束條件],    ...    ...    屬性名 數據類型 [完整約束條件]);

如果你很急的登陸進去就創建表,恭喜你,你會出現“No database selected”的錯誤,因為你沒有告訴別人你要選擇在哪個數據庫創建表,所以在創建之前要選擇數據庫,格式:USE 數據庫名;

示例創建一個student表:

mysql> use example;Database changedmysql> CREATE TABLE student (    -> id int,    -> name varchar(20)    -> );Query OK, 0 rows affected (0.09 sec)

上面創建表的時候涉及到一個完整性約束條件,下面就列出一個完整性約束條件表:

約束條件說明PRIMARY KEY 標識該屬性為該表的主鍵,可以唯一的標識對應的元組FOREIGN KEY 標識該屬性為該表的外鍵,是與之聯系某表的主鍵 NOT NULL 標識該屬性不能為空UNIQUE 標識該屬性的值是唯一的AUTO_INCREMENT 標識該屬性的值是自動增加,這是MySQL的SQL語句的特色 DEFAULT為該屬性設置默認值

下面講解一下上面完整性約束條件的應用:

2)設置表的主鍵

單字段主鍵格式:屬性名 數據類型 PRIMARY KEY

示例:

mysql>  CREATE TABLE student1 (    -> id int PRIMARY KEY,    -> name varchar(20)    -> );Query OK, 0 rows affected (0.06 sec)

多字段主鍵格式:PRIMARY KEY(屬性名1,屬性名2....屬性名n)

示例:

mysql> CREATE TABLE student2 (    -> id int,    -> stu_id int,    -> name varchar(20),    -> PRIMARY KEY(id,stu_id)    -> );Query OK, 0 rows affected (0.00 sec)

3)設置表的外鍵

格式:CONSTRAINT 外鍵別名 FOREIGN KEY(屬性1,屬性2,....屬性n) REFERENCES 表名(屬性1',屬性2',...屬性n')

示例:

mysql> CREATE TABLE teacher (    -> id int PRIMARY KEY,    -> stu_id int,    -> name varchar(20),    -> CONSTRAINT STUID FOREIGN KEY(stu_id) REFERENCES student1(id)    -> );Query OK, 0 rows affected (0.00 sec)

4)設置表的非空約束

簡單的說就是不讓這個屬性的值為空,不填的話就會報錯

格式:屬性名 數據類型 NOT NULL

5)設置表的唯一性約束

就是這個屬性的值是不能重復的

格式:屬性名 數據類型 UNIQUE

6)設置表的屬性值自動增加

AUTO_INCREMENT約束的字段可以是任何整數類型(TINYINT、SMALLINT、INT和BIGINT),在默認的情況下,該字段的值是從1開始自增

格式:屬性名 數據類型 AUTO_INCREMENT

7)設置表的屬性的默認值

格式:屬性名 數據類型 DEFAULT 默認值

下面對4-7進行綜合示例:

mysql> CREATE TABLE student3 (    -> id int PRIMARY KEY AUTO_INCREMENT,    -> teacher_id int UNIQUE,    -> name varchar(20) NOT NULL,    -> sex varchar(10) DEFAULT 'male'    -> );Query OK, 0 rows affected (0.01 sec)

查看表結構

查看表基本結構語句DESCRIBE

格式:DESCRIBE 表名;

通過查看表的結構,就很明確的對表進行解讀,而且可以查看一下自己創建的表有沒錯誤,這個SQL語句必須會用啊

示例:

mysql> desc student3;+------------+-------------+------+-----+---------+----------------+| Field      | Type        | Null | Key | Default | Extra          |+------------+-------------+------+-----+---------+----------------+| id         | int(11)     | NO   | PRI | NULL    | auto_increment || teacher_id | int(11)     | YES  | UNI | NULL    |                || name       | varchar(20) | NO   |     | NULL    |                || sex        | varchar(10) | YES  |     | male    |                |+------------+-------------+------+-----+---------+----------------+4 rows in set (0.01 sec)

查看表詳細結構語句SHOW CREATE TABLE

通過這個SQL語句可以查看表的詳細定義,除了字段名、字段的數據類型、約束條件外,還可以查看表的默認存儲引擎和字符編碼

格式:SHOW CREATE TABLE 表名;

示例:

mysql> SHOW CREATE TABLE student3;+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| Table    | Create Table                                             |+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| student3 | CREATE TABLE `student3` (  `id` int(11) NOT NULL AUTO_INCREMENT,  `teacher_id` int(11) DEFAULT NULL,  `name` varchar(20) NOT NULL,  `sex` varchar(10) DEFAULT 'male',  PRIMARY KEY (`id`),  UNIQUE KEY `teacher_id` (`teacher_id`)) ENGINE=InnoDB DEFAULT CHARSET=gb2312 |+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+1 row in set (0.00 sec)

修改表:

1)修改表名

表名可以在一個數據庫中唯一的確定一張表。

格式:ALTER TABLE 舊表名 RENAME 新表名;

示例:

mysql> ALTER TABLE student RENAME student4;Query OK, 0 rows affected (0.11 sec)mysql> DESCRIBE student;ERROR 1146 (42S02): Table 'example.student' doesn't exist

由上面可以看出,改名后的表已經不存在了。

2)修改字段的數據類型

格式:ALTER TABLE 表名 MODIFY 屬性名 數據類型;

示例:

mysql> DESCRIBE student1;+-------+-------------+------+-----+---------+-------+| Field | Type        | Null | Key | Default | Extra |+-------+-------------+------+-----+---------+-------+| id    | int(11)     | NO   | PRI | NULL    |       || name  | varchar(20) | YES  |     | NULL    |       |+-------+-------------+------+-----+---------+-------+2 rows in set (0.08 sec)mysql> ALTER TABLE student1 MODIFY name varchar(30);Query OK, 0 rows affected (0.06 sec)Records: 0  Duplicates: 0  Warnings: 0mysql> DESCRIBE student1;+-------+-------------+------+-----+---------+-------+| Field | Type        | Null | Key | Default | Extra |+-------+-------------+------+-----+---------+-------+| id    | int(11)     | NO   | PRI | NULL    |       || name  | varchar(30) | YES  |     | NULL    |       |+-------+-------------+------+-----+---------+-------+2 rows in set (0.01 sec)

3)修改字段名:

格式:ALTER TABLE 表名 CHANGE 舊屬性名 新屬性名 新數據類型;

示例:

mysql> DESCRIBE student1;+-------+-------------+------+-----+---------+-------+| Field | Type        | Null | Key | Default | Extra |+-------+-------------+------+-----+---------+-------+| id    | int(11)     | NO   | PRI | NULL    |       || name  | varchar(30) | YES  |     | NULL    |       |+-------+-------------+------+-----+---------+-------+2 rows in set (0.00 sec)mysql> ALTER TABLE student1 CHANGE name stu_name varchar(40);Query OK, 0 rows affected (0.01 sec)Records: 0  Duplicates: 0  Warnings: 0mysql> DESCRIBE student1;+----------+-------------+------+-----+---------+-------+| Field    | Type        | Null | Key | Default | Extra |+----------+-------------+------+-----+---------+-------+| id       | int(11)     | NO   | PRI | NULL    |       || stu_name | varchar(40) | YES  |     | NULL    |       |+----------+-------------+------+-----+---------+-------+2 rows in set (0.00 sec)

這里我修改的字段名的同時也修改了數據類型了,如果你不想修改數據類型的話就按照原來的寫就行了。

4)增加字段

格式:ALTER TABLE 表名 ADD 屬性名1 數據類型 [完整性約束條件] [FIRST | AFTER 屬性名2];

其中,“屬性名1”參數指需要增加的字段的名稱;“FIRST”參數是可選參數,其作用是將新增字段設置為表的第一個字段;“AFTER”參數也是可選的參數,其作用是將新增字段添加到“屬性名2”后面;“屬性名2”當然就是指表中已經有的字段

示例:

mysql> DESCRIBE student1;+----------+-------------+------+-----+---------+-------+| Field    | Type        | Null | Key | Default | Extra |+----------+-------------+------+-----+---------+-------+| id       | int(11)     | NO   | PRI | NULL    |       || stu_name | varchar(40) | YES  |     | NULL    |       |+----------+-------------+------+-----+---------+-------+2 rows in set (0.00 sec)mysql> ALTER TABLE student1 ADD teacher_name varchar(20) NOT NULL AFTER id;Query OK, 0 rows affected (0.01 sec)Records: 0  Duplicates: 0  Warnings: 0mysql> DESCRIBE student1;+--------------+-------------+------+-----+---------+-------+| Field        | Type        | Null | Key | Default | Extra |+--------------+-------------+------+-----+---------+-------+| id           | int(11)     | NO   | PRI | NULL    |       || teacher_name | varchar(20) | NO   |     | NULL    |       || stu_name     | varchar(40) | YES  |     | NULL    |       |+--------------+-------------+------+-----+---------+-------+3 rows in set (0.01 sec)

5)刪除字段

格式:ALTER TABLE 表名 DROP 屬性名;

示例:

mysql> DESCRIBE student1;+--------------+-------------+------+-----+---------+-------+| Field        | Type        | Null | Key | Default | Extra |+--------------+-------------+------+-----+---------+-------+| id           | int(11)     | NO   | PRI | NULL    |       || teacher_name | varchar(20) | NO   |     | NULL    |       || stu_name     | varchar(40) | YES  |     | NULL    |       |+--------------+-------------+------+-----+---------+-------+3 rows in set (0.01 sec)mysql> ALTER TABLE student1 DROP teacher_name;Query OK, 0 rows affected (0.01 sec)Records: 0  Duplicates: 0  Warnings: 0mysql> DESCRIBE student1;+----------+-------------+------+-----+---------+-------+| Field    | Type        | Null | Key | Default | Extra |+----------+-------------+------+-----+---------+-------+| id       | int(11)     | NO   | PRI | NULL    |       || stu_name | varchar(40) | YES  |     | NULL    |       |+----------+-------------+------+-----+---------+-------+2 rows in set (0.00 sec)

6)更改表的存儲引擎

格式:ALTER TABLE 表名 ENGINE = 存儲引擎名;

示例:

mysql> SHOW CREATE TABLE student2;+----------+------------------------------------------------------------------------------------------------------------------------------------------------| Table    | Create Table+----------+------------------------------------------------------------------------------------------------------------------------------------------------| student2 | CREATE TABLE `student2` (  `id` int(11) NOT NULL DEFAULT '0',  `stu_id` int(11) NOT NULL DEFAULT '0',  `name` varchar(20) DEFAULT NULL,  PRIMARY KEY (`id`,`stu_id`)) ENGINE=InnoDB DEFAULT CHARSET=gb2312 |+----------+------------------------------------------------------------------------------------------------------------------------------------------------1 row in set (0.05 sec)mysql> ALTER TABLE student2 ENGINE = MYISAM;Query OK, 0 rows affected (0.02 sec)Records: 0  Duplicates: 0  Warnings: 0mysql> SHOW CREATE TABLE student2;+----------+------------------------------------------------------------------------------------------------------------------------------------------------| Table    | Create Table+----------+------------------------------------------------------------------------------------------------------------------------------------------------| student2 | CREATE TABLE `student2` (  `id` int(11) NOT NULL DEFAULT '0',  `stu_id` int(11) NOT NULL DEFAULT '0',  `name` varchar(20) DEFAULT NULL,  PRIMARY KEY (`id`,`stu_id`)) ENGINE=MyISAM DEFAULT CHARSET=gb2312 |+----------+------------------------------------------------------------------------------------------------------------------------------------------------1 row in set (0.00 sec)

7)刪除表的外鍵約束

格式:ALTER TABLE 表名 DROP FOREIGN KEY 外鍵別名;

示例:

mysql> SHOW CREATE TABLE teacher;+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| Table   | Create Table                                                  |+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| teacher | CREATE TABLE `teacher` (  `id` int(11) NOT NULL,  `stu_id` int(11) DEFAULT NULL,  `name` varchar(20) DEFAULT NULL,  PRIMARY KEY (`id`),  KEY `STUID` (`stu_id`),  CONSTRAINT `STUID` FOREIGN KEY (`stu_id`) REFERENCES `stu) ENGINE=InnoDB DEFAULT CHARSET=gb2312 |+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+1 row in set (0.08 sec)mysql> ALTER TABLE teacher DROP FOREIGN KEY STUID;Query OK, 0 rows affected (0.04 sec)Records: 0  Duplicates: 0  Warnings: 0mysql> SHOW CREATE TABLE teacher;+---------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+| Table   | Create Table                                                        |+---------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+| teacher | CREATE TABLE `teacher` (  `id` int(11) NOT NULL,  `stu_id` int(11) DEFAULT NULL,  `name` varchar(20) DEFAULT NULL,  PRIMARY KEY (`id`),  KEY `STUID` (`stu_id`)) ENGINE=InnoDB DEFAULT CHARSET=gb2312 |+---------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+1 row in set (0.00 sec)

刪除表:

格式:DROP TABLE 表名;

刪除沒有被關聯的普通表:直接上面的SQL語句就行了

刪除被其他表關聯的父表:

方法一:先刪除子表,在刪除父表

方法二:刪除父表的外鍵約束(上面有介紹),再刪該表


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品稀缺呦系列在线| 久久夜精品香蕉| 在线电影欧美日韩一区二区私密| 欧美日韩精品在线观看| 久久久久久香蕉网| 亚洲成人aaa| 亚洲国内高清视频| 亚洲美女中文字幕| 国产成人综合一区二区三区| 亚洲精品久久久久久久久久久久| 久久国产精品影视| 国产偷亚洲偷欧美偷精品| 日韩美女写真福利在线观看| 色综合久久天天综线观看| 日韩精品电影网| 欧美亚洲日本网站| 青青久久av北条麻妃黑人| 亚洲а∨天堂久久精品9966| 精品福利免费观看| 91精品视频在线| 欧美成人免费全部| 欧美主播福利视频| 成人黄色短视频在线观看| 亚洲国产日韩欧美综合久久| 色琪琪综合男人的天堂aⅴ视频| 中文字幕v亚洲ⅴv天堂| 欧美大片大片在线播放| 91精品综合久久久久久五月天| 国产精品久久久久免费a∨大胸| 亚洲深夜福利视频| 成人免费视频网址| 亚洲国产精品专区久久| 日韩精品极品在线观看| 欧美最猛性xxxx| 成人春色激情网| 人妖精品videosex性欧美| 高清一区二区三区四区五区| 国产精品久久久久久久久久免费| 日韩av一区二区在线观看| 国产精品香蕉av| 久99久在线视频| 亚洲国产一区二区三区在线观看| 久久视频在线播放| 久久这里只有精品99| 国产成人精品电影久久久| 亚洲va欧美va在线观看| 欧美精品videos| 国产亚洲a∨片在线观看| 成人免费午夜电影| 久久理论片午夜琪琪电影网| 亚洲国产天堂久久国产91| 国产精品一二区| 日韩最新在线视频| 91精品视频在线免费观看| 最好看的2019年中文视频| 亚洲日韩欧美视频一区| 最新中文字幕亚洲| 久久99视频精品| 国内精品伊人久久| 成人精品久久久| 欧美极品少妇与黑人| 欧美成人免费va影院高清| 欧美成人黑人xx视频免费观看| 久久精品免费电影| 欧美激情精品久久久久久蜜臀| 亚洲女人天堂色在线7777| 国产狼人综合免费视频| 欧美亚洲日本网站| 精品性高朝久久久久久久| 久久久久久久久网站| 亚洲男人天堂2023| 欧美另类交人妖| 中文字幕精品一区久久久久| 国产美女久久精品香蕉69| 一区二区三区四区在线观看视频| 亚洲毛茸茸少妇高潮呻吟| 91精品国产电影| 国产ts人妖一区二区三区| 大桥未久av一区二区三区| 亚洲精品免费在线视频| 精品露脸国产偷人在视频| 热99久久精品| 91久久在线观看| 亚洲男人天堂2023| 亚洲自拍另类欧美丝袜| 亚洲高清一区二| 国产午夜精品视频免费不卡69堂| 国产精品露脸av在线| 成人疯狂猛交xxx| 精品久久久一区二区| 成人激情视频网| 性欧美在线看片a免费观看| 中文字幕日韩在线播放| 欧美伊久线香蕉线新在线| 欧美肥老妇视频| 国产欧美精品一区二区三区介绍| 91久久久国产精品| 日韩欧美999| 久久精品国产亚洲精品2020| 亚洲一区久久久| 精品中文字幕在线| 国产91精品青草社区| 国产精品久久久久国产a级| 中文精品99久久国产香蕉| 欧美亚洲午夜视频在线观看| 日韩成人xxxx| 91深夜福利视频| 欧美一级片免费在线| 国外成人性视频| 久久综合九色九九| 久久综合久中文字幕青草| 欧美日韩国产精品一区二区不卡中文| 欧美电影电视剧在线观看| 日韩小视频网址| 欧美电影免费看| 亚洲欧美精品中文字幕在线| 亚洲成avwww人| 国产www精品| 欧美最猛黑人xxxx黑人猛叫黄| 韩国国内大量揄拍精品视频| 中日韩美女免费视频网站在线观看| 欧美国产精品va在线观看| 日韩av免费在线看| 亚洲视频在线观看| 色香阁99久久精品久久久| 日韩亚洲欧美中文高清在线| 久久精品国产一区二区电影| 亚洲精品福利视频| 国产精品91久久久| 91在线视频精品| 欧美成人自拍视频| 久久综合久久美利坚合众国| 欧美日韩性视频| 日韩欧美中文字幕在线播放| 国产剧情久久久久久| 92裸体在线视频网站| 成人欧美一区二区三区黑人孕妇| 亚洲老头同性xxxxx| 久热精品视频在线| 日韩福利视频在线观看| 欧美日韩激情视频| 欧美高清视频在线播放| 亚洲午夜av电影| 91高清视频在线免费观看| 国产成人亚洲精品| 5566成人精品视频免费| 国产一区二区欧美日韩| 亚洲一区www| 成人福利网站在线观看| 欧美不卡视频一区发布| 国产区精品视频| 日韩欧美国产骚| 欧美一区二区三区艳史| 欧美日韩一区二区三区在线免费观看| 日韩欧美国产视频| 久久久久久12| 欧美精品福利视频| 日韩免费视频在线观看| 欧美性受xxxx黑人猛交| 久久久久久久激情视频| 亚洲高清久久久久久| 亚洲综合第一页| 日本久久久久亚洲中字幕| 亚洲男人天堂古典|