关于MySQL语句建表的总结

时间:2024.5.13

在写代码之前,需要注意的一个问题是,使用命令行模式写MySQL语句,如果涉及到中文,最好利用 mysql>charset GBK;命令将客户端字符集设置为GBK,这样能保证正确插入和读取中文(数据库端字符集可以是gb2312,GBK,utf8等支持中文的字符集).

如果是利用Mysql 提供的 MySQL Query Browser 工具来写脚本,建议先在ultra edit等文本工具(最好别用记事本,因为可能有字符编码问题,推荐ultra edit)将代码写好,然后再粘贴到QueryBrowser 的Script Tab 中一并执行,因为QueryBrowser对中文的支持有bug,无法正确的输入中文,因此要先在别处写好。

写了几个表,里面包括外键主键的设置,建表语句如下:

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

FOREIGN KEY(lession_id) KEY(student_id) REFERENCES REFERENCES lession(lession_id), CONSTRAINT FK_core_student

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

);

/*这是指定表和列的字符集方式创建表*/

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('我们的世界');

一点总结:

1. 建表语句的顺序必须符合各个表之间的关系,比如主表应该在与之有外键关系的表之前建立。

2.关于外键的声明,两个字段的类型必须相同。

3.注意代码的编码格式和数据库字符集项符合。


第二篇:关于MySQL语句建表的总结


在写代码之前,需要注意的一个问题是,使用命令行模式写MySQL语句,如果涉及到中文,最好利用 mysql>charset GBK;命令将客户端字符集设置为GBK,这样能保证正确插入和读取中文(数据库端字符集可以是gb2312,GBK,utf8等支持中文的字符集).

如果是利用Mysql 提供的 MySQL Query Browser 工具来写脚本,建议先在ultra edit等文本工具(最好别用记事本,因为可能有字符编码问题,推荐ultra edit)将代码写好,然后再粘贴到QueryBrowser 的Script Tab 中一并执行,因为QueryBrowser对中文的支持有bug,无法正确的输入中文,因此要先在别处写好。

写了几个表,里面包括外键主键的设置,建表语句如下:

USE test;

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

);

/*这是指定表和列的字符集方式创建表*/

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('我们的世界');

一点总结:

1. 建表语句的顺序必须符合各个表之间的关系,比如主表应该在与之有外键关系的表之前建立。

2.关于外键的声明,两个字段的类型必须相同。

3.注意代码的编码格式和数据库字符集项符合。

更多相关推荐:
安全总结语句

1、必须坚持“安全第一,预防为主,综合治理”的方针,不折不扣地贯彻落实安全生产责任制和各项安全规章制度,要做到居安思危,警钟长鸣。2、安全管理工作要以教育为主,以规章制度为辅来规范从业人员的行为,要用宣传引导员…

高中生物结论性总结语句111条

高中生物结论性语句111条绪论1、生物体具有共同的物质基础和结构基础。2、细胞是生物体的结构和功能的基本单位;细胞是一切动植物结构的基本单位。病毒没有细胞结构。3、新陈代谢是生物体进行一切生命活动的基础。4、生…

计算机总结语句

[转]有了这个大学计算机课不听也行来源:谢芸欣.?的日志一、选择题1、第一台计算机ENIAC淡生于19xx年,是电子管计算机;第二代是晶体管计算机;第三代是中小规模集成电路;第四代是大规模集成电路;2、计算机的…

工作总结、汇报类精辟语句

坚持把招商引资作为经济工作的一号工程来抓强化招商引资责任创新招商引资方式以纲要的实施和广佛肇一体化为契机努力建立全方位多层次宽领域的招商引资新格局以重大项目引进建设为抓手不断掀起招商引资热潮促一批项目建成投产一...

C语言常用语句总结

C语言常用语句总结一常用函数1putchar函数putchar函数字符输出函数向终端输出一个字符一般形式为putcharc输出字符变量c的值printfcc2getchar函数getchar函数字符输入函数从终...

写工作报告、总结材料常用语句

写工作报告、总结材料常用语句以~~为(主题、手段、保证、导向、主线、指针、标准、龙头、目标、中心、核心、依托、支持、支撑、重点、载体、先导、导向、牵引、依据、纽带、桥梁、契机、出发点、立足点、介入点、切入点、根…

写作总结计划材料常用语句(百分百通用,绝对爆嗨)

机关笔杆必备的实用老套套1、常用排比最常用的三字词:可概括为性、感、多、点,不、化、新、力。A、XX性:重要性、紧迫性、自觉性、主动性、坚定性、民族性、时代性、实践性、针对性、全局性、前瞻性、战略性、积极性、创…

20xx年语言文字工作总结

20xx年语言文字工作总结为认真贯彻落实《中华人民共和国国家通用语言文字法》,进一步加强语言文字管理工作,提高文字工作规范化水平,我局结合实际,对语言文字工作中存在的不足进行了认真弥补,实现了初步普及普通话和汉…

大班语言教学总结

大班语言教学总结儿童的语言是在个体与环境的相互作用中尤其是在与成人的语言交流中获得和发展的谈话活动是向幼儿进行语言教育的一种特殊方式是帮助幼儿在一定范围内运用语言与他人交流的活动并具有独特的促进幼儿语言发展的功...

c语言基础知识总结

C语言基础知识要点C语言知识要点复习资料总体上必须清楚的1程序结构是三种分支结构2读程序都要从main入口然后从最上面顺序往下读碰到循环做循环碰到选择做选择有且只有一个main函数3计算机的数据在电脑中保存是以...

精心总结的24条幽默语句

舞步学院专研追女生的技巧和方法的学院教你让你喜欢的女生喜欢上你的秘密精心总结的24条幽默语句1明骚易躲暗贱难防2钱对于我来说根本不是问题问题是我根本没有钱3我羡慕我朋友能有一个好朋友那个好朋友就是我4小时候摔跤...

总结的经典语句

1蜘蛛能坐享其成靠的就是那张关系网蜘蛛能坐享其成靠的就是那张关系网2虾大红之日便是大悲之时大红之日便是大悲之时3天平谁多给一点就偏向谁天平谁多给一点就偏向谁4瀑布因居高临下才口若悬河瀑布因居高临下才口若悬河5锯...

总结语句(40篇)