MySQL SQL
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的更多相关文章
- mysql sql优化实例
mysql sql优化实例 优化前: pt-query-degist分析结果: # Query 3: 0.00 QPS, 0.00x concurrency, ID 0xDC6E62FA021C85B ...
- jbpm3.2中jbpm.jpdl.mysql.sql文件运行报错的问题
这是一个很久之前遇到的问题,就是用从官网下下载的jbpm组件,它的jbpm.jpdl.mysql.sql不能正常运行.其原因是该sql文件中有一句语句有错误.现在附上正确的jbpm.jpdl.mysq ...
- 程序员实用的 MySQL sql 语句
这儿只讲究实用, 程序员编程时常用到的 MySQL的 sql语句(不包括基本的 select, update, delete 等语句). 1. 添加一个用户build,并赋予所有权限的命令 gran ...
- Atitit.软件GUIbutton与仪表盘--db数据库区--导入mysql sql错误的解决之道
Atitit.软件GUIbutton与仪表盘--db数据库区--导入mysql sql错误的解决之道 Keyword::截取文本文件后部分 查看提示max_allowed_packet限制 Targe ...
- mysql sql语句大全(转载)
1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- 创建 ...
- 从运维的角度分析使用阿里云数据库RDS的必要性--你不应该在阿里云上使用自建的MySQL/SQL Server/Oracle/PostgreSQL数据库
开宗明义,你不应该在阿里云上使用自建的MySQL or SQL Server数据库,对了,还有Oracle or PostgreSQL数据库. 云数据库 RDS(Relational Database ...
- Mysql SQL Mode详解
Mysql SQL Mode简介 MySQL服务器能够工作在不同的SQL模式下,并能针对不同的客户端以不同的方式应用这些模式.这样,应用程序就能对服务器操作进行量身定制以满足自己的需求.这类模式定义了 ...
- MYSQL SQL语句技巧初探(一)
MYSQL SQL语句技巧初探(一) 本文是我最近了解到的sql某些方法()组合实现一些功能的总结以后还会更新: rand与rand(n)实现提取随机行及order by原理的探讨. Bit_and, ...
- (1.4)mysql sql mode 设置与使用
关键词: mysql sql mode 1.查阅 mysql> mysql> show variables like 'sql_mode%';+---------------+------ ...
- 16.Mysql SQL Mode
16.SQL Mode及相关问题SQL Mode定义了Mysql支持的SQL语法和数据校验级别,Mysql支持多种SQL Mode.用途: 设置不同的SQL Mode可以对数据进行不同严格程度的校验, ...
随机推荐
- js的实参是按值传递还是按引用传递
1.如果是基本类型,则是按值传递 var str = 'one';function f(string) { string = 'two';}f(str);console.log(str); // ...
- jQuery源代码学习之八——jQuery属性操作模块
一.jQuery属性模块整体介绍 jQuery的属性操作模块分四个部分:html属性操作,dom属性操作,类样式操作,和值操作. html属性操作(setAttribute/getAttribute) ...
- [Android Tips] 12. How to Create a Dash Line Shape
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http: ...
- C语言通用双向循环链表操作函数集
说明 相比Linux内核链表宿主结构可有多个链表结构的优点,本函数集侧重封装性和易用性,而灵活性和效率有所降低. 可基于该函数集方便地构造栈或队列集. 本函数集暂未考虑并发保护. 一 ...
- webApp 开发技术要点总结
如果你是一名前端er,又想在移动设备上开发出自己的应用,那怎么实现呢?幸好,webkit内核的浏览器能帮助我们完成这一切.接触 webkit webapp的开发已经有一段时间了,现把一些技巧分享给大家 ...
- SQL Server数据库性能优化(三)之 硬件瓶颈分析
参考文献 http://isky000.com/database/mysql-performance-tuning-hardware 由于对DBA 工作了解不多 所以只从网上简单的看了下 硬件 ...
- opencv的学习笔记1
想在周末去游泳,找了些游泳的注意事项什么的,想想还没干正事,就来继续看看opencv的使用吧,晚上看了opencv的一些基本入门的东西,打算下面主要总结CSDN上一个大牛的博文,链接如下:http:/ ...
- Repeater控件三层嵌套-内层Repeater添加绑定事件
用Repeater三层嵌套,最外层Repeater可以生成自己的ItemCommand事件.但接下来中间层因为是嵌套了的,所以无法在属性窗口中生成自己的事件.如果手动敲入则无效. 解决办法是需要通过编 ...
- 优化Myeclipse10 Building Workspace速度慢等问题
今天把ext3.0部署到web project很慢很慢,查了一下,这个当笔记.转自http://blog.163.com/jong_cai/blog/static/870280452013111781 ...
- zigbee学习之路(十):串口(接收)
一.前言 上次我们学习了串口的发送,今天我们要学习串口的接收,要实现的功能是接收电脑发来的数据,控制LED 灯闪烁,而且将收到的数据发回给电脑显示出来.而且要采用不占用cpu资源的中断. 二原理与分析 ...