sqlite创建表时,联合主键,要写在建表语句最后一行,primary key (),括号里面;

执行sql文件;使用 .read xxx.sql 命令;

下图执行错误,应该是字段名含有中文,不能读取sql文件;

case shen的使用示例;查询出每门课程的及格人数和不及格人数;

使用分段[100-85],[85-70],[70-60],[<60]来统计各科成绩,分别统计:各分数段人数,课程号和课程名称;

查询结果没有显示字段名,可能命令行的sqlite不支持中文;

看一下第二个查询语句,提示错误:右和全外连接当前不支持;

获取年份;不支持year()函数;使用strftime函数;

CMD操作过程如下;

Microsoft Windows [版本 6.1.7601]
Copyright (c) 2010 Microsoft Corporation.  All rights reserved.

S:\sqlite3>sqlite3 test1.db
SQLite version 3.17.0 2017-02-13 16:02:40
Enter ".help" for usage hints.
sqlite> .database
main: S:\sqlite3\test1.db
sqlite> use test1.db
   ...> ;
Error: near "use": syntax error
sqlite> create table score (
   ...> 学号 int primary key not null,
   ...> 课程号 int primary key not null,
   ...> ;
Error: table "score" has more than one primary key
sqlite> create table score (
   ...> 学号 varchar(50) primary key not null,
   ...> 课程号 varchar(50) primary key not null,
   ...> 成绩 real not null
   ...> );
Error: table "score" has more than one primary key
sqlite> create table score (
   ...> 学号 varchar(50) not null,
   ...> 课程号 varchar(50) not null,
   ...> 成绩 real not null,
   ...> primary key (学号,课程号));
sqlite> create table course (
   ...> 课程号 varchar(50) primary key not null,
   ...> 课程名称 varchar(50) not null,
   ...> 教师号 varchar(50) not null);
sqlite> create table student (
   ...> 学号 varchar(50) primary key not null,
   ...> 姓名 varchar(50) not null,
   ...> 出生日期 date not null,
   ...> 性别 char(4) not null);
sqlite> create table teacher (
   ...> 教师号 varchar(20) primary key not null,
   ...> 教师姓名 varchar(20));
sqlite> .tables;
Error: unknown command or invalid arguments:  "tables;". Enter ".help" for help
sqlite> .tables
course   score    student  teacher
sqlite> .read test1.sql
Error: near line 1: table student has no column named ???
Error: near line 4: table student has no column named ???
Error: near line 7: table student has no column named ???
Error: near line 10: table student has no column named ???
Error: near line 13: table score has no column named ???
Error: near line 16: table score has no column named ???
Error: near line 19: table score has no column named ???
Error: near line 22: table score has no column named ???
Error: near line 25: table score has no column named ???
Error: near line 28: table score has no column named ???
Error: near line 31: table score has no column named ???
Error: near line 34: table score has no column named ???
Error: near line 37: table course has no column named ?γ??
Error: near line 40: table course has no column named ?γ??
Error: near line 43: table course has no column named ?γ??
Error: near line 46: table teacher has no column named ?????
Error: near line 49: table teacher has no column named ?????
Error: near line 52: table teacher has no column named ?????
Error: near line 55: table teacher has no column named ?????
sqlite> .schema student
CREATE TABLE student (
学号 varchar(50) primary key not null,
姓名 varchar(50) not null,
出生日期 date not null,
性别 char(4) not null);
sqlite> insert into student(学号,姓名,出生日期,性别) values('0001' , '猴子' , '1
989-01-01' , '男');
sqlite> delete from student;
sqlite> .read test1.sql
Error: near line 1: table student has no column named ???
Error: near line 3: table student has no column named ???
Error: near line 5: table student has no column named ???
Error: near line 7: table student has no column named ???
Error: near line 9: table score has no column named ???
Error: near line 11: table score has no column named ???
Error: near line 13: table score has no column named ???
Error: near line 15: table score has no column named ???
Error: near line 17: table score has no column named ???
Error: near line 19: table score has no column named ???
Error: near line 21: table score has no column named ???
Error: near line 23: table score has no column named ???
Error: near line 25: table course has no column named ?γ??
Error: near line 27: table course has no column named ?γ??
Error: near line 29: table course has no column named ?γ??
Error: near line 31: table teacher has no column named ?????
Error: near line 33: table teacher has no column named ?????
Error: near line 35: table teacher has no column named ?????
Error: near line 37: table teacher has no column named ?????
sqlite> insert into student(学号,姓名,出生日期,性别) values('0001' , '猴子' , '1
989-01-01' , '男');
sqlite>
sqlite> insert into student(学号,姓名,出生日期,性别) values('0002' , '猴子' , '1
990-12-21' , '女');
sqlite>
sqlite> insert into student(学号,姓名,出生日期,性别) values('0003' , '马云' , '1
991-12-21' , '男');
sqlite>
sqlite> insert into student(学号,姓名,出生日期,性别) values('0004' , '王不二' ,
'1990-05-20' , '男');
sqlite>
sqlite> insert into score(学号,课程号,成绩) values('0001' , '0001' , 80);
sqlite>
sqlite> insert into score(学号,课程号,成绩) values('0001' , '0002' , 90);
sqlite>
sqlite> insert into score(学号,课程号,成绩) values('0001' , '0003' , 99);
sqlite>
sqlite> insert into score(学号,课程号,成绩) values('0002' , '0002' , 60);
sqlite>
sqlite> insert into score(学号,课程号,成绩) values('0002' , '0003' , 80);
sqlite>
sqlite> insert into score(学号,课程号,成绩) values('0003' , '0001' , 80);
sqlite>
sqlite> insert into score(学号,课程号,成绩) values('0003' , '0002' , 80);
sqlite>
sqlite> insert into score(学号,课程号,成绩) values('0003' , '0003' , 80);
sqlite>
sqlite> insert into course(课程号,课程名称,教师号) values ('0001' , '语文' , '00
02');
sqlite>
sqlite> insert into course(课程号,课程名称,教师号) values ('0002' , '数学' , '00
01');
sqlite>
sqlite> insert into course(课程号,课程名称,教师号) values ('0003' , '英语' , '00
03');
sqlite>
sqlite> insert into teacher(教师号,教师姓名) values ('0001' , '孟扎扎');
sqlite>
sqlite> insert into teacher(教师号,教师姓名) values ('0002' , '马腾腾');
sqlite>
sqlite> insert into teacher(教师号,教师姓名) values ('0003' , null);
sqlite>
sqlite> insert into teacher(教师号,教师姓名) values ('0004' , '');
sqlite> select * from score;
0001|0001|80.0
0001|0002|90.0
0001|0003|99.0
0002|0002|60.0
0002|0003|80.0
0003|0001|80.0
0003|0002|80.0
0003|0003|80.0
sqlite> select 课程号,
   ...> sum(case when 成绩>=60 then 1
   ...>          else 0
   ...>     end) as 及格人数,
   ...> sum(case when 成绩 <  60 then 1
   ...>          else 0
   ...>     end) as 不及格人数
   ...> from score
   ...> group by 课程号;
0001|2|0
0002|3|0
0003|3|0
sqlite> select a.课程号,b.课程名称,
   ...> sum(case when 成绩 between 85 and 100
   ...>          then 1 else 0 end) as '[100-85]',
   ...> sum(case when 成绩 >=70 and 成绩<85
   ...>          then 1 else 0 end) as '[85-70]',
   ...> sum(case when 成绩>=60 and 成绩<70
   ...>          then 1 else 0 end) as '[70-60]',
   ...> sum(case when 成绩<60 then 1 else 0 end) as '[<60]'
   ...> from score as a right join course as b
   ...> on a.课程号=b.课程号
   ...> group by a.课程号,b.课程名称;
Error: RIGHT and FULL OUTER JOINs are not currently supported
sqlite> select 学号,姓名 from student where year(出生日期)=1990;
Error: no such function: year
sqlite> select 学号,姓名 from student where strftime('%Y', 出生日期)='1990';
0002|猴子
0004|王不二
sqlite>

test1.sq;

insert into student(学号,姓名,出生日期,性别) values('0001' , '猴子' , '1989-01-01' , '男');insert into student(学号,姓名,出生日期,性别) values('0002' , '猴子' , '1990-12-21' , '女');insert into student(学号,姓名,出生日期,性别) values('0003' , '马云' , '1991-12-21' , '男');insert into student(学号,姓名,出生日期,性别) values('0004' , '王不二' , '1990-05-20' , '男');insert into score(学号,课程号,成绩) values('0001' , '0001' , 80);insert into score(学号,课程号,成绩) values('0001' , '0002' , 90);insert into score(学号,课程号,成绩) values('0001' , '0003' , 99);insert into score(学号,课程号,成绩) values('0002' , '0002' , 60);insert into score(学号,课程号,成绩) values('0002' , '0003' , 80);insert into score(学号,课程号,成绩) values('0003' , '0001' , 80);insert into score(学号,课程号,成绩) values('0003' , '0002' , 80);insert into score(学号,课程号,成绩) values('0003' , '0003' , 80);insert into course(课程号,课程名称,教师号) values ('0001' , '语文' , '0002');insert into course(课程号,课程名称,教师号) values ('0002' , '数学' , '0001');insert into course(课程号,课程名称,教师号) values ('0003' , '英语' , '0003');insert into teacher(教师号,教师姓名) values ('0001' , '孟扎扎');insert into teacher(教师号,教师姓名) values ('0002' , '马腾腾');insert into teacher(教师号,教师姓名) values ('0003' , null);insert into teacher(教师号,教师姓名) values ('0004' , '');

sqlite创建表联合主键的sql写法、执行sql文件、不支持右连接、获取年份、case when 的使用相关推荐

  1. sqlite创建表联合主键的sql写法

    像下面那样创建TStudent表,让id,.name为联合主键 create table TStudent(id INT primary key not null,name VARCHAR(50) p ...

  2. MySql之DDL操作创建表(添加主键, 外键约束以及基本的数据类型)

    1.创建表基本语句 CREATE TABLE users( username VARCHAR(50) PRIMARY KEY, userpwd VARCHAR(50) NOT NULL, userag ...

  3. 数据库——创建数据库+创建表与主键

    文章目录 一.创建数据库 1.创建默认数据库 2.创建指定参数位置数据库 3.添加NDF数据文件 二.创建表 三.创建主键 1.创建主键 2.对已创建的表进行主.外键设置 一.创建数据库 1.创建默认 ...

  4. SQL Server 创建表 添加主键 添加列常用SQL语句

    --删除主键 alter table 表名 drop constraint 主键名 --添加主键 alter table 表名 add constraint 主键名 primary key(字段名1, ...

  5. SQL常用语句|创建表,设置主键......

    新建表 create table [表名] ( [自动编号字段] int IDENTITY (1,1) PRIMARY KEY , [字段1] nVarChar(50) default \'默认值\' ...

  6. SQL Server2019数据库查询所有数据库名、表名、表结构、表字段、主键方法演示,执行sql提示对象名‘user_tab_columns‘、 ‘user_cons_columns‘ 无效问题解决

    SQL Server2019 数据库查询所有数据库名.表名.表结构.表字段.主键方法演示 第一章:查询方法 ① 查询所有数据库名 ② 查询所有表名方法 ③ 查询表结构.表字段方法 ④ 查询主键方法 第 ...

  7. oracle 创建表定义主键,Oracle 学习----:创建表(主键自增)

    一.创建表 create table testTable ( Id numbere, name varchar2(100), age number, createTime date, primary ...

  8. mysql 创建表主键_MySQL创建表和主键约束

    1.创建表 在操作数据表之前,应该使用"USE 数据库名"指定操作是在哪个数据库中进行 主键约束(唯一标识) ****非空*** ****唯一*** ****被引用****(学习外 ...

  9. mysql建表 联合主键

    建表:(前4个联合为主键) CREATE TABLE `climate_one_key` (`纬度` float(255,2) NOT NULL COMMENT '纬度',`经度` float(255 ...

最新文章

  1. c语言函数汉诺塔不用move,C语言——汉诺塔问题(函数递归)
  2. msf各种弱口令爆破
  3. 2019 6月编程语言_六月开始提供435项免费在线编程和计算机科学课程
  4. python发邮件图片太长显示不出来_Python电子邮件图像太长,无法显示,为什么Python在发送多图表电子邮件时只显示第一个图像?,python,发邮件,图片,不,出来,第一张...
  5. wps下一步快捷键_WPS表格常用快捷键大全(非常全面)
  6. 微信公众号和服务器的关系,微信公众号、订阅号、服务号之间的关系和区别
  7. python中pip安装报错的一些总结
  8. 弃全从简 转转的二手手机路好走吗?
  9. R语言学习(常用)网址和书籍
  10. Android中屏蔽有新短信时通知栏里的通知
  11. mysql主从配置duxi_手把手超详细Docker部署MongoDB集群
  12. 记一次Linux文件系统引发的项目启动错误(war包没有问题只有指定目录启动报错)
  13. 关于赛车游戏制作的一点体会
  14. 云服务器上传文件软件,云服务器上传文件软件
  15. 假期离校必备:Mac远程连接Win10桌面(设置断电自动重启、Win10配置远程桌面、Microsoft Remote Desktop Beta远程桌面连接、将Win作为服务器可以conda跑代码)
  16. opencv3.1.0 计算机中丢失 opencv_world310d.dll _vs2017解决方法
  17. 计算机维修要学几年,做电脑维修需要学习哪些知识呢?
  18. 米酷CMS影视 6.26 源码+解析接口+安装步骤
  19. pycharm使用超级鹰无输出结果/尝试新的跨平台问题
  20. gazebo小车仿真时遇到问题:没有cmd_vel和odom话题

热门文章

  1. 可能大家都能跑通的ignite的HelloWorld
  2. PDFMaker无法找到Adobe PDF Printer的打印机驱动
  3. Windows 技巧篇-电脑蓝光过滤,颜色校准调节蓝光,电脑源头过滤蓝光,保护眼睛,护眼软件原理
  4. Python 技巧篇-让我的程序暂停一下
  5. [学习笔记]电磁场与电磁波
  6. Python爬虫学习(1)
  7. imag--复数的虚数部分
  8. Python进阶06 循环对象与迭代
  9. 并发编程(三)原子操作CAS
  10. 接口压测初识java GC