MySQL下的sql示例.docx

上传人:b****7 文档编号:10572071 上传时间:2023-02-21 格式:DOCX 页数:103 大小:36.21KB
下载 相关 举报
MySQL下的sql示例.docx_第1页
第1页 / 共103页
MySQL下的sql示例.docx_第2页
第2页 / 共103页
MySQL下的sql示例.docx_第3页
第3页 / 共103页
MySQL下的sql示例.docx_第4页
第4页 / 共103页
MySQL下的sql示例.docx_第5页
第5页 / 共103页
点击查看更多>>
下载资源
资源描述

MySQL下的sql示例.docx

《MySQL下的sql示例.docx》由会员分享,可在线阅读,更多相关《MySQL下的sql示例.docx(103页珍藏版)》请在冰豆网上搜索。

MySQL下的sql示例.docx

MySQL下的sql示例

例1:

建立数据库

查看现有数据库

showdatabases;

建立demo数据库

createdatabasedemo;

查看现有数据库

showdatabases;

删除数据库

dropdatabasedemo;

查看现有数据库

showdatabases;

例2:

建立基本表

如果demo数据库未建立,则先建立数据库

createdatabasedemo;

不选择缺省数据库的情况下建立学生表

错误的

createtableStudent(

Snochar(9)notnull,

Snamechar(8)notnull,

Ssexchar

(2)notnulldefault'男',

Sagetinyint

(2),

Sdeptchar

(2)

);

createtabledemo.Student(

Snochar(9)notnull,

Snamechar(8)notnull,

Ssexchar

(2)notnulldefault'男',

Sagetinyint

(2),

Sdeptchar

(2)

);

选择demo为缺省的数据库

Usedemo;

建立课程表

不用再demo.SC

不用再demo.Course

createtableCourse(

Cnochar

(1)notnull,

Cnamechar(12)notnull,

Cpnochar

(1),

Ccredittinyint

(1)

);

建立学生选课表

createtableSC(

Snochar(9),

Cnochar

(1),

Gradetinyint(3)

);

查看demo库中基本表的数量

showtables;

showtablesfromdemo;(如果demo不是当前数据库)

例3:

查看基本表的结构

showcolumnsfromstudent;

descstudent;

showcolumnsfromcourse;

desccourse;

showcolumnsfromsc;

descsc;

例4:

修改基本表的结构

向student表的最后中插入一个字段

altertablestudentaddaddressvarchar(64);

查看student表结构所发生的变化

descstudent;

向student表的第1列前插入一个字段

altertablestudent

addIDNumchar(18)notnullfirst;

查看student表结构所发生的变化

descstudent;

向student表的sage列后插入一个字段

altertablestudent

addbirthdaydateaftersage;

查看student表结构所发生的变化

descstudent;

 

删除新增加的三个字段

altertablestudentdropIDNum;

altertablestudentdropaddress;

altertablestudentdropbirthday;

查看student表结构所发生的变化

descstudent;

将Sdept由char

(2)修改为char(8)

altertablestudentchangeSdeptSdeptchar(8);

查看student表结构所发生的变化

descstudent;

将Sage由tinyint

(2)修改为int(6),并不允许为空

altertablestudentchangeSageSageint(6)notnull;

查看student表结构所发生的变化

descstudent;

将Ssex由char

(2)修改为int

(1),缺省为0

altertablestudentchangeSsexSsexint

(1)default0;

查看student表结构所发生的变化

descstudent;

将Sno改名为Snum,由char(9)修改为int(6),且为主键

altertablestudentchangeSnoSnumint(6)primarykey;

查看student表结构所发生的变化

descstudent;

(也可以先删除Sno,再增加Snum)

 

例5:

删除基本表

删除Student表

droptablestudent;

查看demo库中基本表的数量

showtables;

删除Course表/SC表

droptablecourse;

droptableSC;

查看demo库中基本表的数量

showtables;

例6:

创建数据库的时候建立索引

如果Student表已存在,则先删除

droptablesstudent;

createtableStudent(

Snochar(9)notnull,

Snamechar(8)notnull,

Ssexchar

(2)notnulldefault'男',

Sagetinyint

(2),

Sdeptchar

(2),

Primarykey(sno),

indexs1(snameasc),

uniques2(sagedesc)

);

查看数据表的结构

descStudent;

查看索引

showindexfromStudent;

例7:

先建立数据表,再通过修改数据表的属性来建立索引

如果Student表已存在,则先删除

droptablesstudent;

createtableStudent(

Snochar(9)notnull,

Snamechar(8)notnull,

Ssexchar

(2)notnulldefault'男',

Sagetinyint

(2),

Sdeptchar

(2)

);

altertablestudentaddprimarykey(sno);

altertablestudentaddindexs1(snameasc);

altertablestudentadduniques2(sagedesc);

查看数据表的结构

descStudent;

查看索引

showindexfromStudent;

例8:

先建立数据表,再直接创建索引(普通/唯一性索引)

如果Student表已存在,则先删除

droptablesstudent;

primaykey建主索引

createtableStudent(

Snochar(9)notnullprimarykey,

Snamechar(8)notnull,

Ssexchar

(2)notnulldefault'男',

Sagetinyint

(2),

Sdeptchar

(2)

);

createindexs1onstudent(snameasc);

createuniqueindexs2onstudent(sagedesc);

查看数据表的结构

descStudent;

查看索引

showindexfromStudent;

 

例9:

通过修改属性的方式删除Student表的索引

altertablestudentdropindexs1;

altertablestudentdropindexs2;

altertablestudentdropprimarykey;

查看索引

showindexfromStudent;

例10:

直接删除索引(普通/唯一性索引)

因为前面例9已删除,要先建立

createindexs1onstudent(snameasc);

createuniqueindexs2onstudent(sagedesc);

删除索引

dropindexs1onstudent;

dropindexs2onstudent;

查看索引

showindexfromStudent;

 

例11:

按表结构对应插入数据

清除前面索引的影响,重新建立Student表

droptablestudent;

createtableStudent(

Snochar(9)notnullprimarykey,

Snamechar(8)notnull,

Ssexchar

(2)notnulldefault'男',

Sagetinyint

(2),

Sdeptchar

(2)

);

在Student中插入数据

insertintostudent

values('200215121','李勇','男',20,'CS');

正确

查看数据

select*fromStudent;

insertintostudent

values('张三','200215999','男',20,'CS');

不正确,200215999当做姓名,超宽

查看数据

select*fromStudent;

insertintostudent

values('张三','200215','男',20,'CS');

正确,张三当做学号,200215当做姓名

查看数据

select*fromStudent;

insertintostudent

values('200215128',NULL,'女',19,'CS');

错误,sname不能为空

查看数据

select*fromStudent;

insertintostudent

values('200215128','张三','女',NULL,NULL);

正确

查看数据

select*fromStudent;

insertintostudent

values('200215129','李四','男');

错误,给出的数据列(3)必须与数据表的列(5)相同

查看数据

select*fromStudent;

例12:

按字段名对应插入数据

insertintostudent

(sname,sno)values('李四','200215129');

正确,带缺省值及空字段

查看数据

select*fromStudent;

insertintostudent

(ssex,sno)values('女','200215130');

错误,sname非空且无缺省值

查看数据

select*fromStudent;

例13:

删除数据

清空全部数据

deletefromstudent;

查看数据

select*fromStudent;

再增加4条记录

insertintostudent

values('200215121','李勇','男',20,'CS');

insertintostudent

values('200215122','刘晨','女',19,'CS');

insertintostudent

values('200215123','王敏','女',18,'MA');

insertintostudent

values('200215125','张立','男',19,'IS');

查看数据

select*fromStudent;

删除学号为200215122的记录

deletefromstudentwheresno='200215122';

查看数据

select*fromStudent;

删除年龄大于等于19的学生

deletefromstudentwheresage>=19;

查看数据

select*fromStudent;

重新插入3条记录,恢复为4条记录

insertintostudent

values('200215121','李勇','男',20,'CS');

insertintostudent

values('200215122','刘晨','女',19,'CS');

insertintostudent

values('200215125','张立','男',19,'IS');

删除性别为男的学生

deletefromstudentwheressex='男';

查看数据

select*fromStudent;

重新插入2条记录,恢复为4条记录

insertintostudent

values('200215121','李勇','男',20,'CS');

insertintostudent

values('200215125','张立','男',19,'IS');

删除性别为男且年龄<=19的学生

deletefromstudentwheressex='男'andsage<=19;

查看数据

select*fromStudent;

 

重新插入1条记录,恢复为4条记录

insertintostudent

values('200215125','张立','男',19,'IS');

删除性别为男或者年龄<=18的学生

deletefromstudentwheressex='男'orsage<=18;

查看数据

select*fromStudent;

例14:

修改记录

先将数据恢复为4条记录

deletefromstudent;

insertintostudent

values('200215121','李勇','男',20,'CS');

insertintostudent

values('200215122','刘晨','女',19,'CS');

insertintostudent

values('200215123','王敏','女',18,'MA');

insertintostudent

values('200215125','张立','男',19,'IS');

查看数据

select*fromStudent;

将李勇的年龄修改为21岁

updatestudentsetsage=21wheresname='李勇';

查看数据

select*fromStudent;

 

将所有男生的年龄加倍

updatestudentsetsage=sage*2wheressex='男';

查看数据

select*fromStudent;

将所有男生的年龄增加15%

updatestudentsetsage=sage*1.15wheressex='男';

查看数据(注意,结果仍为整数)

select*fromStudent;

将学号为200215121的学生的年龄修改为21,系部为IS

updatestudent

setsage=21,sdept='IS'wheresno='200215121';

查看数据

select*fromStudent;

将学号为200215121的学生的学号修改为200215122

updatestudent

setsno='200215122'wheresno='200215121';

错误,主键重复

查看数据

select*fromStudent;

将学号为200215121的学生的学号修改为200215124

updatestudent

setsno='200215124'wheresno='200215121';

正确

查看数据

select*fromStudent;

将学号为200215122的学生的姓名清空

updatestudentsetsname=NULLwheresno='200215122';

错误,sname不允许为空

查看数据

select*fromStudent;

先修改属性,允许为空

altertablestudentchangesnamesnamechar(8);

查看结构

descstudent;

再将学号为200215122的学生的姓名清空

updatestudentsetsname=NULLwheresno='200215122';

正确

查看数据

select*fromStudent;

将学号为200215123的学生的年龄改为zz

updatestudentsetsage='zz'wheresno='200215123';

错误,sage为整型

查看数据

select*fromStudent;

例15:

带外键的数据表的创建

建立三张无外键关系的表,顺序任意

如果Student、course、SC表已存在,则先删除

droptablesstudent;

droptablescourse;

droptablessc;

建立学生选课表

createtableSC(

Snochar(9),

Cnochar

(1),

Gradetinyint(3),

primarykey(Sno,Cno)

);

建立学生表

createtableStudent(

Snochar(9)notnullprimarykey,

Snamechar(8)notnull,

Ssexchar

(2)notnulldefault'男',

Sagetinyint

(2),

Sdeptchar

(2)

);

建立课程表

createtableCourse(

Cnochar

(1)notnullprimarykey,

Cnamechar(12)notnull,

Cpnochar

(1),

Ccredittinyint

(1)

);

 

建立Student与SC存在外键关系的表,则必须先student,后sc表

如果Student、course、SC表已存在,则先删除

droptablesstudent;

droptablescourse;

droptablessc;

建立学生选课表

createtableSC(

Snochar(9),

创建不成功

Cnochar

(1),

Gradetinyint(3),

primarykey(Sno,Cno),

foreignkey(Sno)referencesStudent(sno)

);

先建立学生表(不带主键)

createtableStudent(

Snochar(9)notnull,

Snamechar(8)notnull,

Ssexchar

(2)notnulldefault'男',

Sagetinyint

(2),

Sdeptchar

(2)

);

再建立学生选课表

createtableSC(

Snochar(9),

Cnochar

(1),

Gradetinyint(3),

primarykey(Sno,Cno),

foreignkey(Sno)referencesStudent(sno)

);

创建不成功,因为Studnet(sno)不是主键

删除学生表

droptablestudent;

建立学生表(带主键)

createtableStudent(

Snochar(9)notnullprimarykey,

Snamechar(8)notnull,

Ssexchar

(2)notnulldefault'男',

Sagetinyint

(2),

Sdeptchar

(2)

);

再建立学生选课表

createtableSC(

Snochar(9),

Cnochar

(1),

Gradetinyint(3),

primarykey(Sno,Cno),

foreignkey(Sno)referencesStudent(sno)

);

创建成功

 

创建有外键关系的三个表,则sc必须最后建立

如果Student、course、SC表已存在,则先删除

droptablessc;

droptablescourse;

droptablesstudent;

建立学生表

createtableStudent(

Snochar(9)notnullprimarykey,

Snamechar(8)notnull,

Ssexchar

(2)notnulldefault'男',

Sagetinyint

(2),

Sdeptchar

(2)

);

建立课程表

createtableCourse(

Cnochar

(1)notnullprimarykey,

Cnamechar(12)notnull,

Cpnochar

(1),

Ccredittinyint

(1),

foreignkey(Cpno)referencesCourse(Cno)

);

建立学生选课表

createtableSC(

Snochar(9),

Cnochar

(1),

Gradetinyint(3),

primarykey(Sno,Cno),

foreignkey(Sno)referencesStudent(sno),

foreignkey(Cno)referencesCourse(Cno)

);

查看表结构

showtables;

descStudent;

descCourse;

descSC;

例16:

带外键数据表的删除

droptableCourse;

删除不成功,要删除course,必须先删除sc

droptableSC;

droptablecourse;

droptablestudent;

例17:

带外键数据表的记录的插入

先把三张表补齐

建立课程表

createtableCourse(

Cnochar

(1)notnullprimarykey,

Cnamechar(12)notnull,

Cpnochar

(1),

Ccredittinyint

(1),

foreignkey(Cpno)referencesCourse(Cno)

);

建立学生表

createtableStudent(

Snochar(9)notnullprimarykey,

Snamechar(8)notnull,

Ssexchar

(2)notnulldef

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 哲学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1