MySQL相关知识点

一、课程网络资源:
    1.www.liaoxuefeng.com
    2.www.runoob.com
    3.www.csdn.net
    4、B站


二、课程学习建议:
    1、及时摘写课堂知识要点记事本(期末考试备用)。
    2、开发注册自己的csdn博客(IT行业),及时更新。
    3、将自己每次课程内容和作业挂到博客上(其他课程也可以这样做)(平时作业考核)。
    4、课堂上需要用到手机或外网查阅课程相关内容,而非游戏聊天电话等
    5、将手机系统设置为英文模式(+5分)

三、课程简介

四、知识要点

********************************************************************************************
2.22-24
第一章  数据库概论


1、数据(Data),信息表现形式(数字、文字、图形、图像、视频、音频或动画等)
2、数据库(DataBase,DB):有组织结构的数据集合。
3、数据库管理系统(DataBase Managemen System,DBMS):是一个系统软件平台,是数据库应用系统的核心。
4、数据库系统(DataBase System,DBS):包括DB,OS,DBMS,APP,USER,DBA等。
5、操作:
    (1)Mysql80的安装与配置(第3章实验3)
    (2)E-R图设计(第1章实验1)

********************************************************************************************
3.1-3
第二章  关系数据库系统模型

1、数据模型:
    (1)根据应用层次分为3类:
            概念模型:实体(矩形框)、属性(椭圆框)、联系(菱形框+无向边)---->E-R图表示
            逻辑模型:层次模型(树状)、网状模型(网状)、关系模型(二维表)
            物理模型:数据在计算机里面的存取与管理方式等,对数据最底层的抽象描述
    (2)根据内容有3部分组成:
            数据结构:层次模型(树状)、网状模型(网状)、关系模型(二维表)
            数据操作:增、删、改、查
            数据约束:完整性的规则
        
2、数据库模型:
    标准结构:
        三级模式:
            外部层---->外模式(数据概念模型)
            概念层---->概念模式(数据逻辑模型)
            内部层---->内模式(数据物理模型)
        两级映像:
            外模式/概念模式映像
            概念模式/内模式映像    
3、关系数据库系统模型:
    (1)关系模型:
        域:一组具有相同数据类型的值的集合
        笛卡尔积:域的遍历乘积,构成一个二维表,子集为全集的关系(Relation)
        关系:笛卡尔积的有限子集,也是一个二维表
        行:元组
        列:属性
        类型:基表、查询表、视图表
        候选码(CK):唯一标识元组的属性或属性组)
        主码(PK):某一个候选码(实体完整性)
        外码(FK):不同基表间的相同属性联系(参照完整性)
        规范化(范式):每个分量必须是不可分的数据项(不能”表中表“)
        表示:R(A1,A2,A3...An),其中R是关系名,A1,A2...An是属性名
    (2)关系代数:抽象的查询语言
        传统的集合操作:并、差、交、笛卡尔积(元组行)
        专门的关系操作:选择(元组行)、投影(属性列)、连接(行列)、除(行列)
        比较运算符:大于、大于或等于、小于、小于或等于、等于、不等于
        逻辑运算符:与、或、非
    (3)SQL关系语言:
        数据定义语言(Data Definition Language,DDL):CREATE、ALTER、DROP(创建、修改、删除)
        数据操作语言(Data Manipulation Language,DML):INSERT、UPDATE、DELETE(插入、修改、删除)
        数据查询语言(Data Query Language,DQL):SELECT(查询)
        数据控制语言(Data Control Language,DCL):GRANT、REVOKE(操作权限)
    
                
********************************************************************************************
3.8-10
第三章  Mysql的安装与运行
注意事项参考:        
    https://blog.csdn.net/m0_52775858/article/details/123705566
    https://blog.csdn.net/IT_YQG_/article/details/120012541?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-5-120012541-blog-119766392.pc_relevant_3mothn_strategy_recovery&spm=1001.2101.3001.4242.4&utm_relevant_index=8

第四章  Mysql数据库和表的命令操作
1.数据库(DATABASE)操作:
    (1)创建数据库
        【例4.2】创建名称为stusys的学生信息数据库,该数据库是本书的重要数据库。
            mysql> CREATE DATABASE stusys;
    (2)查看数据库
        【例4.1】查看MySQL服务器中的已有数据库。
            mysql> SHOW DATABASES;
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sakila             |
| sys                |
| world              |
+--------------------+
6 rows in set (0.01 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sakila             |
| stusys             |
| sys                |
| world              |
+--------------------+
7 rows in set (0.00 sec)
    (3)选择数据库                                                             
        【例4.3】选择stusys为当前数据库。
                mysql> USE stusys;

mysql> use database stusys;
ERROR 1049 (42000): Unknown database 'database'
mysql> use stusys;
Database changed
    (4)修改数据库
        【例4.4】修改数据库stusys的默认字符集和校对规则。
              mysql> ALTER DATABASE stusys
                      -> DEFAULT CHARACTER SET gb2312 
                       -> DEFAULT COLLATE gb2312_chinese_ci;
mysql> use stusys;
Database changed
mysql> alter database;
ERROR 1064 (42000): 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 '' at line 1
mysql> alter database stusys
    -> default character set gb2312
    -> default collate gb2312_chinese_ci;
Query OK, 1 row affected (0.02 sec)
    (5)删除数据库
        【例4.5】删除数据库stusys。
            mysql> DROP DATABASE stusys;
mysql> drop database stusys;
Query OK, 0 rows affected (0.05 sec)

mysql> drop database stusys;
ERROR 1008 (HY000): Can't drop database 'stusys'; database doesn't exist
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sakila             |
| sys                |
| world              |
+--------------------+
6 rows in set (0.00 sec)
2.课堂内外作业:
    课本P55--71例4.1--4.17,并做好知识要点摘录和CSDN文案。

********************************************************************************************
3.15-17

1.数据表(TABLE)操作:
    (1)表结构
        行:记录
        列:字段(field)、空值(null)、主键(Primary Key)、外键(Foreign Key)
    (2)数据类型
        整数型(int)、定点数型(decimal(m,d))、浮点型(float)、
        字符串型(char(n),varchar(n))、日期和时间型(datetime、year)
    (3)创建表
                a.新表:
        【例4.6】在基本数据库stusys中创建student表,student表是基本表之一。
            mysql> USE stusys;
                Database changed
            mysql> CREATE TABLE student 
                       ->(
                        ->sno char(6) NOT NULL PRIMARY KEY,
                         ->sname char(8) NOT NULL,
                         ->ssex char(2) NOT NULL DEFAULT '男',
                         ->sbirthday date NOT NULL,
                         ->speciality char(12) NULL,
                         ->tc tinyint NULL
                         ->);
               b.复制表:
        【例4.7】在stusys数据库中,使用复制方式创建student1表,表结构取自student表。
            mysql> USE stusys;
                Database changed
            mysql> CREATE TABLE student1 like student;
    (5)查看表
                a.表的名称:
        【例4.8】查看数据库stusys中所有表名。
            mysql> USE stusys;
                Database changed
            mysql> SHOW TABLES;
                b.表的基本结构
        【例4.9】查看数据库stusys中student表的基本结构。
        mysql> SHOW COLUMNS FROM student;
    或者
        mysql> DESC student;
                c.表的详细结构
        【例4.10】查看数据库stusys中student表的详细结构。
        mysql> SHOW CREATE TABLE student;

    (6)修改表
                 a.添加列
        【例4.11】在数据库stusys的student表中增加一列sid,添加到表的第1列,不为空,取值唯一并自动增加。
        mysql> ALTER TABLE stusys.student
                    -> ADD COLUMN sid int NOT NULL UNIQUE AUTO_INCREMENT FIRST;
                 b.修改列
        【例4.12】将stusys数据库的student1表的列sbirthday修改为sage,将数据类型改为tinyint,可空,默认值为18。
        mysql> ALTER TABLE stusys.student1
                    -> CHANGE COLUMN sbirthday sage tinyint DEFAULT 18;
                 c.删除列
        【例4.13】删除数据库stusys的表student中的列sid。
        mysql> ALTER TABLE stusys.student
                    -> DROP COLUMN sid;
                 d.修改名称
        【例4.14】在stusys数据库中,将 student1表重命名为student2表。
        mysql> ALTER TABLE stusys.student1 
                    -> RENAME TO stusys.student2;
        【例4.15】在stusys数据库中,将 student2表重命名为student3表。
        mysql> RENAME TABLE stusys.student2 TO stusys.student3;
                e.删除表
        【例4.16】删除stusys数据库中的student3表。
        mysql> DROP TABLE stusys.student3;
    (7)查看存储引擎
        【例4.17】查看存储引擎。
           mysql> SHOW ENGINES;
第五章 表数据操作
2.表数据操作
    (1)插入数据
        a.插入值的顺序和表定义的列的顺序相同
#【例5.1】向student1表插入一条记录('196001','董明霞','女','1999-05-02','通信’,50)。
INSERT INTO student1 
        VALUES 
    ('196001','董明霞','女','1999-05-02','通信',50);
select * from student1;

        b.插入值的顺序和表定义的列的顺序不同
#【例5.2】向student1表插入一条记录,学号为“196002”,姓名为“李茜”,专业为“通信”,总学分48,性别为“女”,出生日期为“1998-07-25”。
INSERT INTO student1 (sno, sname, speciality, tc, ssex, sbirthday)
        VALUES
    ('196002','李茜','通信',48,'女','1998-07-25');
select * from student1;

        c.给出了部分列的值,其它列的值为表定义时的默认值,或允许该列取空值
#【例5.3】向student1表插入一条记录,学号为“196004”,姓名为“周俊文”,性别为“男”、取默认值,出生日期为“1998-03-10”,专业为空值,总学分为52。
INSERT INTO student1 (sno, sname, sbirthday, tc)
    VALUES
    ('196004','周俊文', '1998-03-10', 52);
select * from student1;

        d.插入多条记录,在插入语句中,插入值列表之间用逗号隔开。
#【例5.4】向student表插入样本数据,共6条记录,参见附录B。
INSERT INTO student
    VALUES
    ('191001','刘清泉','男','1998-06-21','计算机',52),
    ('191002','张慧玲','女','1999-11-07','计算机',50),
    ('191003','冯涛','男','1999-08-12','计算机',52),
    ('196001','董明霞','女','1999-05-02','通信',50),
    ('196002','李茜','女','1998-07-25','通信',48),
    ('196004','周俊文','男','1998-03-10','通信',52);
select * from student1;

        e.REPLACE语句可以在插入数据之前将与新记录冲突的旧记录删除,使新记录能够正常插入。
#【例5.5】对student1表,重新插入记录('196002','李茜','女','1998-07-25','通信’,48)。
REPLACE INTO student1 
        VALUES
    ('196002','李茜','女','1998-07-25','通信',48);
select * from student1;
        f.将已有表的记录快速插入当前表中
#【例5.6】向student2表插入student表的记录。
create table student2 like student;
select * from student2;
INSERT INTO student2
    SELECT * FROM student;
select * from student2;

    (2)修改数据
        a.修改指定记录需要通过WHERE子句指定要修改的记录满足的条件。
#【例5.7】在student1表中,将学生周俊文的出生日期改为“1999-03-10”。
select * from student1;
SET SQL_SAFE_UPDATES = 0;
UPDATE student1
    SET sbirthday='1999-03-03'
    WHERE sname ='周俊文';
select * from student1;
        b.修改全部记录不需要指定WHERE子句。
#【例5.8】在student1表中,将所有学生的学分增加2分。
UPDATE student1
    SET tc=tc+2;
select * from student1;

    (3)删除数据
        a.删除指定记录需要通过WHERE子句指定表中要删除的行所满足的条件。
#【例5.9】在student1表中,删除学号为196004的行。
DELETE FROM student1
    WHERE sno='196004';
select * from student1;
        b.删除全部记录有两种方式:
            一种方式是通过DELETE语句并省略WHERE子句,则删除表中所有行,仍保留表的定义在数据库中。
#【例5.10】在student1表中,删除所有行。
DELETE FROM student1;
select * from student1;

            另一种方式是通过TRUNCATE语句,则删除原来的表并重新创建一个表。
#【例5.11】在student表中,删除所有行。
TRUNCATE student2;
select * from student2;

3.第十三章 备份和恢复
    (1)备份数据
#【例13.1】备份stusys数据库中的course表中数据,要求字段值如果是字符就用双引号标注,字段值之间用逗号隔开,每行以问号为结束标志。

    (2)恢复数据


4.课堂内外作业:
    (1)课本P79--85例5.1--5.11,并做好知识要点摘录和CSDN文案。
    (2)课本P88--90实验5-2全部,将图文并茂的文案上传CSDN。


********************************************************************************************************

--修改数据库名
ALTER DATABASE librarypm
MODIFY NAME=librarypm_new;

--用存储过程更改数据库名
sp_renamedb librarypm_new ,librarypm;

    (3)删除
--删除数据库文件
ALTER DATABASE librarypm
REMOVE FILE librarypmbk

--删除数据库
DROP DATABASE librarypm 

13.数据表(TABLE)
    (1)表结构:
        行:记录
        列:字段(field)、空值(null)、主键(primary key)
    (2)数据类型:
        整数型(int)、浮点型(float)、字符型(nvarchar(n))
14.T_SQL:

    (1)创建:(请先在平台里运行再复制如下)
        
--创建数据表(课本P56-4.1)

USE stsc
CREATE TABLE student
(
    stno char(6) NOT NULL PRIMARY KEY,
    stname char(10) NOT NULL ,
    stsex char(2) NOT NULL,
    stbirthday date NOT NULL,
    specialist char(20) NULL,
    tc int NULL

)
GO

USE stsc
CREATE TABLE score
(
    stno char(6) NOT NULL ,
    cno char(3) NOT NULL,
    grade int NULL,
    PRIMARY KEY(stno,cno)

)
GO

--由其他表创建新表(课本P57-4.2)
USE stsc 
SELECT stno,stname,stbirthday INTO student1
FROM student

--修改表的列(增加列)
USE stsc
ALTER TABLE student1 
ADD remark varchar(50)

--修改表的列(删除列)
ALTER TABLE student1
DROP  COLUMN remark

7、SQL Server 安全机制:
        服务器安全性 (USER)
        数据库安全性(USER)
        数据库对象安全性(USER)

8、服务器管理:
    创建登录名(CREATE /Login /DataBase /Table /View /Index)
    修改登录名(ALTER /Login /DataBase /Table /View /Index)
    删除登录名(DROP /Login /DataBase /Table /View /Index)

9、SQL Server 数据库对象
    两类:系统数据库(master、model、msdb、tempdb)
              用户数据库(常规创建删除修改等操作对象)

10.数据库文件(扩展名)
    3类:
        主数据文件(.mdf)
        辅助数据文件(.ndf)
        日志数据文件(.ldf)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值