SQL语句错误:

Column count doesn't match value count at row 1

列计数与第1行的值计数不匹配

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server

version for the right syntax to use near 'DATABASE' at line 1

您的SQL语法中有错误; 请检查与MySQL服务器版本对应的手册,以获取在第1行“DATABASE”附近使用的正确语法

连接数据库时出现这样的错误:ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061) 

原因:数据库未启动,要先启动数据库,操作:在有管理员权限的命令行窗口键入 "net start mysql" 命令来启动数据库即可。

 注意:sql语句中的变量都应该用英文单词表示。

1、 在MySQL下创建一个数据库student,字符集使用utf8

CREATE DATABASE student character set utf8;//创建表时设置字符集

2、 创建三个表

(1) 学生表,字段如下:学号,姓名,性别,出生日期,省份,班级,各字段使用合适的数据类型,设置学号为主键

create table 学生表(

学号 INT NOT NULL PRIMARY KEY,   //设置主键

姓名 VARCHAR(20) NOT NULL ,

性别 VARCHAR(2) ,

出生日期 DATE ,

省份 VARCHAR(20),

班级 VARCHAR(15)

);

(2) 课程表,字段如下:课程号,课程名称,任课教师,学时,学分,课程性质(选修,必修),备注,各字段使用合适的数据类型,设置课程号为主键

create table 课程表(

课程号 INT NOT NULL PRIMARY KEY,

课程名称 VARCHAR(30) NOT NULL ,

任课老师 VARCHAR(10) ,

学时 INT  ,

学分 INT ,

课程性质 VARCHAR(15)

);

(3) 成绩表:字段如下:学号,课程号,成绩,设置学号,课程号为外部主键

create table 成绩表(

学号 INT NOT NULL  ,

课程号 INT  NOT NULL  ,

成绩 INT ,

foreign key ( 学号 )  references  学生表( 学号 ),     //设置外键

foreign key (课程号 )  references 课程表(课程号 )   //设置外键

);

3、 使用SQL语句在三个表中分别增加若干数据

//插入数据,INT类型数据直接写,VARCHAR字符串类型数据要用单引号,DATE日期类型数据也要用单引号

insert into 学生表 ( 学号, 姓名, 性别, 出生日期, 省份, 班级) values (1404240520 ,'小浩', '男' , '2008-08-15' ,'湖北省','11405班');

4、 使用相应的SQL语句实现以下操作

(1) 查询所有学生的学号,姓名,出生日期信息

select 学号,姓名,出生日期  from 学生表;    //查询语句select与from之间可以有多个字段,用逗号隔开,代表要输出的字段

(3) 查询省份是“湖北”,姓“李”的女同学的学号,班级,出生日期

select 学号, 班级, 出生日期 from 学生表 where 省份='湖北省' and 姓名 like '李%' and 性别='女';

(4) 统计男,女同学的人数

select 性别,count(*) from 学生表 where 性别='女' group by 性别;   //count(*)表中本来是没有的,新创建的字段来记录个数

select 性别,count(*) from 学生表 where 性别='男' group by 性别;

(6) 删除性别为null或’’的学生
       delete  from student where sex=null or sex=' ';

(7) 将1990年出生的学生省份修改为“湖北”,年龄增加1岁
        update student set birthdate=adddate(birthdate,INTERVAL 1 YEAR),province='湖北' where year(birthdate)=1990;//使用SQL语句方法

//或者 这样

update  student  set provice=’湖北省’ , birthdate =birthdate+1 where year(birthdate)=1990;

(8) 分页显示年龄大于20岁的同学所有信息(每页显示10条,本题要求显示第二页)
        select * from student where YEAR(birthdate)<YEAR( current_date())-20  limit 10,10; //limit语句 limit 开始行,每页取出的数据个数

(9)查询所有同学的所有成绩信息,显示“学号,姓名,课程名称,成绩”
         select  score.studentid, student.name,course.coursename,score.score  from score  left join  student on score.studentid=student.studentid left join course on score.courseid=course.courseid;
//sql语句多表联合查询,left join左连接

(10) 查询所有男同学的成绩信息,显示“学号,姓名,课程名称,成绩”
        select score.studentid, student.name,course.coursename,score.score from score left join student on score.studentid=student.studentid left join course on score.courseid=course.courseid  where student.sex='男';

(11) 查询所有必修课程的平均分,显示“课程号,课程名称,课程性质,平均分”
       select course.courseid, course.coursename, course.type, AVG(score.score) from course ,score where course.courseid=score.courseid  and  course.type='必修' GROUP BY course.courseid;

(12) 查询某个班级所有课程的平均分,显示“班级,课程,平均分”(按平均分倒序显示),并将查询结果增加到一个新的表中
             create table classscore  as  select student.class,course.coursename,AVG(score.score) as avg from  student,course,score where student.class='计科1'and student.studentid=score.studentid and course.courseid=score.courseid group by course.coursename order by AVG(score.score) desc;  //创建新表并将查询到的数据作为新表的数据

查询命令语句http://bbs.csdn.net/topics/390407669

外键 http://blog.sina.com.cn/s/blog_53729e4601011wja.html

MySQL SQL的更多相关文章

  1. mysql sql优化实例

    mysql sql优化实例 优化前: pt-query-degist分析结果: # Query 3: 0.00 QPS, 0.00x concurrency, ID 0xDC6E62FA021C85B ...

  2. jbpm3.2中jbpm.jpdl.mysql.sql文件运行报错的问题

    这是一个很久之前遇到的问题,就是用从官网下下载的jbpm组件,它的jbpm.jpdl.mysql.sql不能正常运行.其原因是该sql文件中有一句语句有错误.现在附上正确的jbpm.jpdl.mysq ...

  3. 程序员实用的 MySQL sql 语句

    这儿只讲究实用,  程序员编程时常用到的 MySQL的 sql语句(不包括基本的 select, update, delete 等语句). 1. 添加一个用户build,并赋予所有权限的命令 gran ...

  4. Atitit.软件GUIbutton与仪表盘--db数据库区--导入mysql sql错误的解决之道

    Atitit.软件GUIbutton与仪表盘--db数据库区--导入mysql sql错误的解决之道 Keyword::截取文本文件后部分 查看提示max_allowed_packet限制 Targe ...

  5. mysql sql语句大全(转载)

      1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- 创建 ...

  6. 从运维的角度分析使用阿里云数据库RDS的必要性--你不应该在阿里云上使用自建的MySQL/SQL Server/Oracle/PostgreSQL数据库

    开宗明义,你不应该在阿里云上使用自建的MySQL or SQL Server数据库,对了,还有Oracle or PostgreSQL数据库. 云数据库 RDS(Relational Database ...

  7. Mysql SQL Mode详解

    Mysql SQL Mode简介 MySQL服务器能够工作在不同的SQL模式下,并能针对不同的客户端以不同的方式应用这些模式.这样,应用程序就能对服务器操作进行量身定制以满足自己的需求.这类模式定义了 ...

  8. MYSQL SQL语句技巧初探(一)

    MYSQL SQL语句技巧初探(一) 本文是我最近了解到的sql某些方法()组合实现一些功能的总结以后还会更新: rand与rand(n)实现提取随机行及order by原理的探讨. Bit_and, ...

  9. (1.4)mysql sql mode 设置与使用

    关键词: mysql sql mode 1.查阅 mysql> mysql> show variables like 'sql_mode%';+---------------+------ ...

  10. 16.Mysql SQL Mode

    16.SQL Mode及相关问题SQL Mode定义了Mysql支持的SQL语法和数据校验级别,Mysql支持多种SQL Mode.用途: 设置不同的SQL Mode可以对数据进行不同严格程度的校验, ...

随机推荐

  1. Android颜色资源文件

    <?xml version="1.0" encoding="utf-8"?><resources> <color name=&qu ...

  2. Java 并发性和多线程

    一.介绍 在过去单 CPU 时代,单任务在一个时间点只能执行单一程序.之后发展到多任务阶段,计算机能在同一时间点并行执行多任务或多进程.虽然并不是真正意义上的“同一时间点”,而是多个任务或进程共享一个 ...

  3. 不错的开源FTP类库

    socket开源ftp类库代码:http://netftp.codeplex.com/ 需要注意事项,如果以下代码出现乱码问题,可以设置其中的Encoding属性就可以. 用法示例: using Sy ...

  4. composer--------初体验,如何安装,如何下载

    最近PHP里面比较火的一款框架laravel,想学一下看下这个框架到底哪里好.这款框架的中文官网激励推荐composer,没办法就去学了一些composer.结果整了半天,还不如看一段短视频学的容易. ...

  5. Pyhton 学习总结 21 :fileinput模块

    fileinput模块可以对一个或多个文件中的内容进行迭代.遍历等操作.该模块的input()函数有点类似文件readlines()方法,区别在于前者是一个迭代对象,需要用for循环迭代,后者是一次性 ...

  6. (一)s3c2440 地址分配讲解 (很难很纠结)

    mini2440的地址怎么分配.mini2440处理器的地址怎么分配. S3C2440处理器可以使用的物理地址空间可以达到4GB,其中前1GB的地址(也就是0x0000 0000--0x4000 00 ...

  7. Python快速建站系列-Part.Two-结构化和布局

    |版权声明:本文为博主原创文章,未经博主允许不得转载. 首先明确我们要建一个什么样的站,作为教程(也算自己使用tornado的一个小总结),自然功能不能太多,但又满足一个普通网站需要的就行了. 目前想 ...

  8. 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数002·AI人工智能

    <zw版·Halcon-delphi系列原创教程> Halcon分类函数002·AI人工智能 AI人工智能:包括knn.gmm.svm等 为方便阅读,在不影响说明的前提下,笔者对函数进行了 ...

  9. Linq To Sqlite 一一二二

    说在前头 之所以写下这些文字,主要是因为使用LINQ的同志们都觉它的美好(至于有多美好,各位心里知道,我就不在描述了,如果你是你还不了解LINQ,园子里有大把的文章),微软老哥只提供了自家的SQLSe ...

  10. AppleWatch___学习笔记(三)iPhone和Apple Watch上的数据同步

    WatchKit App类似于之前iOS 8上新推出的App Extension(应用扩展),比如Today Extension(今天扩展)和Share Extension(分享扩展).只要你对iOS ...