日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

關(guān)于MySQL語(yǔ)句建表的總結(jié)

 krrish 2010-09-11
 
 

在寫(xiě)代碼之前,需要注意的一個(gè)問(wèn)題是,使用命令行模式寫(xiě)MySQL語(yǔ)句,如果涉及到中文,最好利用 mysql>charset GBK;命令將客戶端字符集設(shè)置為GBK,這樣能保證正確插入和讀取中文(數(shù)據(jù)庫(kù)端字符集可以是gb2312,GBK,utf8等支持中文的字符集).
如果是利用Mysql 提供的 MySQL Query Browser 工具來(lái)寫(xiě)腳本,建議先在ultra edit等文本工具(最好別用記事本,因?yàn)榭赡苡凶址幋a問(wèn)題,推薦ultra edit)將代碼寫(xiě)好,然后再粘貼到
QueryBrowser 的Script Tab 中一并執(zhí)行,因?yàn)镼ueryBrowser對(duì)中文的支持有bug,無(wú)法正確的輸入中文,因此要先在別處寫(xiě)好。
寫(xiě)了幾個(gè)表,里面包括外鍵主鍵的設(shè)置,建表語(yǔ)句如下:

USE testdatabase;
CREATE TABLE class (
    class_id INTEGER UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    class_name VARCHAR(40)
);


CREATE TABLE student (
    student_id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
    PRIMARY KEY(student_id),
    student_name varchar(40),
    class_id INTEGER UNSIGNED,
    CONSTRAINT FK_student_class FOREIGN KEY(class_id) REFERENCES class(class_id) ON DELETE CASCADE ON UPDATE CASCADE
);



CREATE TABLE lession(
    lession_id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
    PRIMARY KEY (lession_id),
    lession_name varchar(40)
);

CREATE TABLE core(
    core_id INTEGER UNSIGNED AUTO_INCREMENT,
    lession_id INTEGER UNSIGNED NOT NULL,
    student_id INTEGER UNSIGNED NOT NULL,
    core    FLOAT,
    close_status INTEGER DEFAULT 0,
    CONSTRAINT PK_core PRIMARY KEY(
        core_id
    ),
    CONSTRAINT FK_core_lession FOREIGN KEY(lession_id) REFERENCES lession(lession_id),
    CONSTRAINT FK_core_student FOREIGN KEY(student_id) REFERENCES student(student_id)
    ON DELETE CASCADE
);



CREATE TABLE teacher(
    teacher_id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
    PRIMARY KEY(teacher_id),
    teacher_name varchar(40)
);

CREATE TABLE teachlession(
    teachlession_id INTEGER PRIMARY KEY AUTO_INCREMENT,
    lession_id INTEGER UNSIGNED,
    teacher_id INTEGER UNSIGNED,
    CONSTRAINT FK_teachlession_lession FOREIGN KEY(lession_id) REFERENCES lession(lession_id)
    ON DELETE CASCADE,
    CONSTRAINT FK_teachlession_teacher FOREIGN KEY(teacher_id) REFERENCES teacher(teacher_id)
    ON DELETE CASCADE
);

CREATE TABLE sysuser(
    sysuser_id INTEGER UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
    sysuser_name VARCHAR(40),
    sysuser_password VARCHAR(40),
    sysuser_role INTEGER,
    foreign_id INTEGER
);



/*這是指定表和列的字符集方式創(chuàng)建表*/
use testdatabase;
drop table if exists chartable;
create table chartable(
name varchar(30) character set utf8 collate utf8_general_ci
)character set latin1 collate latin1_danish_ci;

insert into chartable values('我們的世界');

一點(diǎn)總結(jié):
    1. 建表語(yǔ)句的順序必須符合各個(gè)表之間的關(guān)系,比如主表應(yīng)該在與之有外鍵關(guān)系的表之前建立。
    2.關(guān)于外鍵的聲明,兩個(gè)字段的類型必須相同。
    3.注意代碼的編碼格式和數(shù)據(jù)庫(kù)字符集項(xiàng)符合。

轉(zhuǎn)自:http://hi.baidu.com/sodarfish/blog/item/b415160f587fb2e9aa645727.html

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多