学习时间
2021-04-01
学习内容
MySQL数据库简介
MySQL数据库是一个关系型数据库管理系统。也是现在流行的开源,免费的关系型数据库。它有如下特点:
- 免费、开源
- 小巧、功能齐全
- 使用便捷
- 可运行在Windows和Linux操作系统上
- 可适用于中小型或者大型网站
运行机制
如图所示:
基本语法
CREATE DATABASE myschool;
-- 删除数据库 语法: DROP DATABASE 数据库名称;
DROP DATABASE myschool;
-- 查询数据库
SHOW DATABASES;
-- 切换到myschool
USE myschool;
-- 表
UNSIGNED
无符号的
声明该数据列不允许负数
ZEROFILL
0填充的
不足位数的用0来填充,如 int(3),5则为 005
AUTO_INCREMENT
自动增长的,每添加一条数据,自动在上一个记录数上加1
通常用于设置主键,且为整数类型
可定义起始值和步长
-- 注释 对于 表或 列的描述
COMMENT=‘测试表’;
CREATE TABLE [ IF NOT EXISTS ] `表名` (
`字段名1` 列类型 [ 属性 ] [ 索引 ] [注释] ,
`字段名2` 列类型 [ 属性 ] [ 索引 ] [注释] ,
… …
`字段名n` 列类型 [ 属性 ] [ 索引 ] [注释]
) [ 表类型 ] [ 表字符集 ] [注释] ;
USE myschool;
-- 删除表
DROP TABLE `subject`;
-- 字符编码集 设置 charset=utf8;
-- 主键 PRIMARY KEY
CREATE TABLE IF NOT EXISTS `subject`(
subjectNo int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '科目编号',
subjectName varchar(50) NOT NULL COMMENT '科目名称',
classHour int(4) NOT NULL COMMENT '课时',
gradeID int(4) COMMENT '年级编号'
) ENGINE = InnoDB,COMMENT='年级表',charset=utf8;
-- 创建表同时 复制原有表中的数据与结构
CREATE TABLE `newsubject` SELECT * FROM `subject`;
-- 创建表同时 复制表中的结构
CREATE TABLE `newsubject2` SELECT * FROM `subject` where 1=2;
-- 创建表同时 复制表中的指定列
CREATE TABLE `newsubject3` SELECT subjectNo,subjectName FROM `subject` where 1=2;
-- 查询表的结构
DESC `subject`; -- 简单 常用
DESCRIBE `subject`;
SHOW COLUMNS IN `subject`;
SHOW COLUMNS FROM `subject`;
EXPLAIN `subject`;
-- 查询已创建表的语句
SHOW CREATE TABLE `subject`;
-- 设置存储模式
CREATE TABLE 表名(
#省略一些代码
) ENGINE = InnoDB / MyISAM
-- 修改表名称 语法:ALTER TABLE 旧表名 RENAME AS 新表名
ALTER TABLE newsubject RENAME AS newsubject1;
-- 添加字段 语法: ALTER TABLE 表名 ADD 字段名 列类型 [ 属性 ]
ALTER TABLE newsubject1 ADD test VARCHAR(50) NOT NULL;
-- 修改字段 语法一: ALTER TABLE 表名 MODIFY 字段名 列类型 [ 属性 ]
-- 语法二 : ALTER TABLE 表名 CHANGE 旧字段名 新字段名 列类型 [ 属性 ]
ALTER TABLE newsubject1 MODIFY test VARCHAR(10) NULL
ALTER TABLE newsubject1 CHANGE test test2 VARCHAR(10) NULL
-- 删除字段 语法: ALTER TABLE 表名 DROP 字段名
ALTER TABLE newsubject1 DROP test2
-- 增加主键 语法:ALTER TABLE 表名 ADD PRIMARY KEY (字段名);
ALTER TABLE newsubject1 ADD PRIMARY KEY (subjectNo);
-- 删除主键
ALTER TABLE newsubject1 DROP PRIMARY KEY;
-- 创建主外键关系: ALTER TABLE 外键表 ADD FOREIGN KEY (外键列) REFERENCES 主键表(主键列);
ALTER TABLE news ADD FOREIGN KEY (ntid) REFERENCES topic(tid);
声明:
本文参考:
- 《数据库系统原理与应用》(孟彩霞,张荣,乔平安)人民邮电出版社
- 《数据库原理》(郭盈发,张红娟)西安电子科技大学出版社
关于转载:
允许非商业用途转载,注明出处和链接即可。