mysql学习笔记

一 建表字段类型

1..字符数据类型   

Char 固定长度的字符串

Varchar 可变长度的字符串

2.Unicode数据类型

Nchar 固定长度的unicode数据

Nvarchar 可变长度的unicode数据

Ntext  

3.numbers数据类型

int 整型

float 带有浮动小数点的数字

double 带有浮动小数点的数字

decimal 固定精度和比例的数字

4.日期和时间数据类型

包括Datetime, Smalldatetime, Date, TimeStamp

二 基本操作

1. 创建数据库 create database 数据库名;

2. 删除数据库 drop database 数据库名;

3. 创建表 create table 表1 ( id varchar(10), name varchar(10), datetime, score int );

4. 往表里插入数据 ,增

insert into 表1 values (‘’,‘’,‘’,‘’指的是每个字段的值,数值不用加引号);

5. 

练习:

表1.学生表

Student(SID,Sname,Sage,Ssex) --SID 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别

2.课程表

Course(CID,Cname,TID) --CID --课程编号,Cname 课程名称,TID 教师编号

3.教师表

Teacher(TID,Tname) --TID 教师编号,Tname 教师姓名

4.成绩表

SC(SID,CID,score) --SID 学生编号,CID 课程编号,score 分数

5、查询没有学过“叶平”老师课的同学的学号、姓名

select sid,sname from student, teacher, course, sc where student.sid=sc.sid and sc.cid=course.cid and course.tid=teacher.tid and tname='叶平'

1. 查询"01"课程比"02"课程成绩高的学生的学号

(select sc.sid, sc.score from sc where cid = '01') a

(select sc.sid, sc.score from sc where cid = '02') b

select a.sid from (select sc.sid, sc.score from sc where cid = '01') a, (select sc.sid, sc.score from sc where cid = '02') b where a.score > b.score and a.sid=b.sid;

2. 查询平均成绩大于60分的同学的学号和平均成绩

select avg(score),sid from course, sc group by sid having avg(score)>60 and course.cid = sc.cid;

select S#, avg(score) from sc group by S# having avg(score)>60;

3、查询所有同学的学号、姓名、选课数、总成绩

select sid, sname, count(cid), sum(score) from student, sc where student.sid=sc.sid group by student.sid, student.sname;

select student.S#, student.Sname, count(sc.C#), sum(score) from student left outer join SC on student.S# = SC.S# group by Student.S#, Sname

4、查询姓‘李’的老师的个数:

select count(tname)  from teacher where tname like '李%';

原文地址:https://www.cnblogs.com/wz123/p/11059394.html