创建mysql数据库 表_MySQL:创建数据库和数据表操作
1.使用SQL创建数据库,数据库名:studentDB,如果数据库studentDB已存在,那么,先删除再创建。
DROP DATABASE IF EXISTS StudentDB ;-----如果存在数据库StudentDB则删除数据库StudentDB;
CREATE DATABASE StudentDB ----创建数据库StudentDB
CHARACTER SET utf8 ;---数据库字符集。设置数据库的默认编码为utf8,utf8中间不要"-";
2.在数据库studentDB中,使用SQL创建student、course和score等3个表,表结构分别如下:
(1)表 1:学生表(t_student)
(2)表2:课程表(t_course)
(3)表 3:成绩表(t_score)
--(1)表1:学生表(t_student)
DROP TABLE t_student IF EXISTS t_student ;
CREATE TABLE t_student(
studentNo NVARCHAR(11) NOT NULL,
studentName NVARCHAR(20) NOT NULL,
loginPwd VARCHAR(20) NOT NULL,
sex CHAR(2) NOT NULL,
birthday DATETIME
);
--(2)课程表(t_course)
CREATE TABLE t_course(
courseID INT AUTO_INCREMENT PRIMARY KEY,---一般会配置自增长属性的字段作为主键
courseName NVARCHAR(20) NOT NULL,
clasHour INT NOT NULL,
credit INT NOT NULL
);
--(3)表3:成绩表(t_score)
CREATE TABLE t_score(
studentNo NVARCHAR(11) NOT NULL,
courseID INT NOT NULL,
score INT NOT NULL
);
3. 数据约束操作
(1)为t_student表(第一个字段)添加主键约束。
ALTER TABLE t_student
ADD CONSTRAINT pk_studentNo PRIMARY KEY(studentNo);
(2)为t_course表(第一个字段)添加主键,其在创建表时已经指定第一个字段为主键约束。
(3)为t_score表(第一和第二个字段)分别添加主键约束。
ALTER TABLE t_score
ADD CONSTRAINT pk_sNO_cID PRIMARY KEY(studentNo,courseID);
(4)为t_score表添加外键约束。
ALTER TABLE t_score
ADD CONSTRAINT fk_stuNo FOREIGN KEY(studentNo) REFERENCES t_student(studentNo);
ALTER TABLE t_score
ADD CONSTRAINT fk_courseID FOREIGN KEY(courseID) REFERENCES t_course(courseID);
(5)为t_student表的sex列添加默认约束,默认值为’男’。
ALTER TABLE t_student
ADD CONSTRAINT df_sex DEFAULT('男') FOR sex ;
(6)为t_course表的courseName添加唯一键约束,要求课程名是唯一的。
ALTER TABLE t_course
ADD CONSTRAINT uq_courseName UNIQUE(courseName) ;
(7)为t_score表的score列添加检查约束,要求成绩在[0,100]之间。
ALTER TABLE t_course
ADD CONSTRAINT ck_score CHECK(score>=0 AND score<=100) ;
4.数据更新操作
(1)插入数据
t_student表数据:
INSERT INTO t_student
VALUES ('13601260101','丁亮','123456','男','1993-2-24'),
('13601260102','李连杰','123456','男','1993-3-25'),
('13601260103','李刚','123456','男','1993-5-25'),
('13601260104','凌洋','123456','女','1993-9-15'),
('13601260105','刘雪琼','123456','女','1992-12-25') ;
t_course表数据:
INSERT INTO t_course(courseName,clasHour,credit)
VALUES('使用SQL Server管理和查询数据',56,3),
('网站前台开发技术',56,2),
('面向对象程序设计(Java)',88,5) ;
t_score表数据:
INSERT INTO t_score
VALUES ('13601260101','1',75),
('13601260102','1',65),
('13601260103','1',85),
('13601260104','1',95),
('13601260105','1',55),
('13601260101','2',77),
('13601260102','2',69),
('13601260103','2',45),
('13601260104','2',95),
('13601260105','2',85),
('13601260101','3',90),
('13601260102','3',60),
('13601260103','3',75),
('13601260104','3',95),
('13601260105','3',55) ;
(2)使用SQL更新学生表,将‘丁亮’的学生名字,修改为“丁文亮”。
UPDATE t_student
SET studentName='丁文亮'----修改结果
WHERE studentName='丁亮' ;----修改条件
(3)使用SQL删除成绩表中的“13601260104”的学生成绩记录。
DELETE FROM t_score
WHERE studentNo='13601260104' ;
5.数据查询操作
(1)找出姓李的学生信息,字段名用别名命名
SELECT studentNo AS 学号, studentName AS 姓名, sex AS 性别, birthday AS 出生日期
FROM t_student
WHERE studentName LIKE '李%' ;----模糊查询:单个用'_',多个用'%'
(2)求每门课的最高分、最低分、平均分
SELECT t_course.courseID AS 课程编号, MAX(score) AS 最高分, MIN(score) AS 最低分, AVG(score) AS 平均分
FROM t_course, t_score
WHERE t_course.courseID = t_score.courseID
GROUP BY 课程编号 ;-----分组
(3)查询不及格的学生姓名,课程名称,考试成绩。
SELECT studentName AS 姓名, courseName AS 课程名, score AS 分数
FROM t_student AS st,t_course AS c, t_score AS sc
WHERE st.studentNo=sc.studentNo AND c.courseID=sc.courseID AND score<60 ;
(4)查找没有考试成绩的学生的信息
SELECT studentNo AS 学号, studentName AS 姓名, sex AS 性别, birthday AS 出生日期
FROM t_student
WHERE studentNo NOT IN (
SELECT DISTINCT studentNo
FROM t_score
);
创建mysql数据库 表_MySQL:创建数据库和数据表操作相关推荐
- mysql 快速复制_MySQL中快速复制数据表方法汇总
本文将着重介绍两个MySQL命令的组合,它将以原有数据表为基础,创建相同结构和数据的新数据表. 这可以帮助你在开发过程中快速的复制表格作为测试数据,而不必冒险直接操作正在运行 的数据表. 示例如下: ...
- mysql repair 索引_mysql 创建索引、重建索引、查询索引、删除索引 转自:http://www.phpernote.com/mysql/942.html...
本篇文章主要是对MySQL索引操作方法做了一下总结,包括创建索引.重建索引.查询索引.删除索引的操作.以下所列示例中中 `table_name` 表示数据表名,`index_name` 表示索引名,c ...
- mysql字段命名_Mysql 01—数据库表字段的命名规则
摘要:当前测试工作为自研数据库测试,同时需要为自动化执行处理入库数据表,为让自己看起来专业些,特查找资料学习数据库的各种规范使用. 本文是一篇包含了数据库命名.数据库表命名.数据库表字段命名及SQL语 ...
- mysql数据库视图重命名_数据表和视图:修改数据表
在MySQL中,ALTER 语句用来修改数据表名称或者数据表字段名称.也可以用来添加或者删除数据表字段. ALTER 语句经常和"ADD", "DROP" an ...
- mysql设置外键并一键生成数据表关系图
文章目录 1.概念 2.理解 3.添加外键时需要注意的规则 4.navicat for mysql中设置外键 5.数据表关系图的创建 1.概念 主键是能确定一条记录的唯一标识. 外键用于与另一张表的关 ...
- mysql 热备份 数据一致性_MySQL 使用 XtraBackup 进行数据热备份指导 [全量+增量]
背景 最近一直涉猎 MySQL 数据库的操作.集群部署 注意到,为保证数据安全,掌握数据备份是极为重要的 相比小型服务的冷备份而言 在此推荐并整理更受推崇的 XtraBackup 下的热备份技巧 ☞ ...
- web元件库、axure元件库、通用元件库、常用web组件、常用表单、框架、数据表单、导航栏、边框、图标、列表、日期时间选择器、评分组件、穿梭框、输入框、步骤条、图表组件、数据可视化、后台模板、时间轴
web元件库.axure元件库.通用元件库.常用web组件.常用表单.框架.数据表单.导航栏.边框.图标.列表.日期时间选择器.评分组件.穿梭框.输入框.步骤条.图表组件.数据可视化.后台模板.时间轴 ...
- web元件库、axure元件库、元件库、web组件、控件、表单、框架、数据表单、导航栏、边框、图标、列表、日期时间选择器、评分组件、穿梭框、输入框、步骤条、图表组件、数据可视化、后台模板、时间轴
web元件库.axure元件库.通用元件库.web组件.控件.表单.框架.数据表单.导航栏.边框.图标.列表.日期时间选择器.评分组件.穿梭框.输入框.步骤条.图表组件.数据可视化.后台模板.时间轴. ...
- 菜鸟教程mysql创建表_MySQL 创建数据库 | 菜鸟教程
MySQL 创建数据库 使用 mysqladmin 创建数据库 使用普通用户,你可能需要特定的权限来创建或者删除 MySQL 数据库. 所以我们这边使用root用户登录,root用户拥有最高权限,可以 ...
- mysql创建数据库选择_mysql创建、选择并使用数据库
假定在你的家(你的"动物园")中有很多宠物,并且你想跟踪关于它们各种类型的信息.你可以通过创建表来保存你的数据并根据所需要的信息装载他们,然后你可以从表中检索数据来回答关于动物不同 ...
最新文章
- gif 图片制作和拆解
- 实现O(1)时间复杂度带有min和max 函数的栈
- Cmd使用方式--命令行运行程序
- centos下搭建网站服务器,Centos7搭建web服务器
- S/4HANA extension field search的SQL语句是在什么地方生成的
- 机器学习笔记(六):正则化
- 评:我从编程中悟出八个字(不算原创,不过希望让大家能看看)
- 从零基础入门Tensorflow2.0 ----四、17.生成tfrecords文件
- java voip 的sip服务器搭建_SIP服务器,搭建自己的VoIP平台 | 学步园
- 世界各国国家代码简称
- python 实现 责任链模式
- 三进制与八进制相互转换
- win10磁盘占用100%
- android 存储盘 dcim,DCIM是个啥?安卓图片存储位置指南
- nvidia控制面板点了没反应win7_WIN7nvidia控制面板点击没反应 - 卡饭网
- Zoom视频会议软件使用
- HDMI转MIPICSI,东芝转换芯片,TC358743XBG/TC358749XBG
- 1930年经济大萧条
- 学生狗租房舒舍给你详解
- 机器学习新-统计机器学习第二版