SQL语句创建以下表并输入数据 20

https://zhidao.baidu.com/question/1859861360725352187.html

学生表 --------------------- 学号 姓名 性别 0701001 王玲 女 0702013 李力 男 成绩表 ------------------------------------------------------------------ 学号 ...展开
哀鸣丶 | 浏览 3004 次 |举报
我有更好的答案
 
推荐于2017-11-26 13:48:27 最佳答案
 
create table student(
student_id varchar(10),
name varchar(50),
sex varchar(10)
);
insert into student values('0701001','王玲','女');
insert into student values('0702013',' 李力','男');

create table score(
student_id varchar(10),
english number,
math number,
computer number,
physics number,
is_pass_cet4 varchar(10),
score_avg number,
totle_score number
);
insert into score values('0701001',90.5,88.5,87,82,'yes',null,null);
纯粹是按照你的数据选择的数据类型,按照Oracle写的
 
追问

非常感谢!不过我有一点疑惑,望能解答

  1. student 直接写成“学生表”可以么

  2. 0.字段名写成中文 如“学号”行么?

  3. varchar写成text行么?

  4. 用设置主键么 PRIMARY KEY在第一个字段后面行么

  5. 不用在每个后面写上NOT NULL么

     

 
追答
  1. 表名写成中文也是可以的,但不推荐用中文,容易引起编码问题

  2. 理由同1

  3. 用text也不是不可以,varchar能搞定的,尽(绝)量(对)不要用text,否则性能会差很多

  4. 一张表可以有主键,也可以没有,表没有主键的话,对于程序来说是好事,但查询的性能会有所下降,主键是有索引的。我没写是因为偷懒(^_^惭愧惭愧)

  5. 理论上讲设置为Not Null是有助于查询性能的,推荐最好每个字段都设置Not Null,不过也是要视具体情况而定,存在即合理,每种事物都是为了解决特定的问题产生的,没有什么东西是绝对的适合处理所有情况的