数据库专属单词
authentication #身份验证
delimiter #分隔符
character #字符集
collate #整理。 指定字符集的排序规则
unicode #统一码
flush #刷新
privileges #特权
string #串
set #设置
use #使用
zerofill #修饰符。0可以填补输出的值
unsigned #修饰符。无符号
binary #修饰符。二进制
engine #引擎,发动机
temporary #临时
options #选择
statement #声明
auto_increment #自动增长列
comment #注释
unique #唯一的
primary #主要的
general #一般的 utf8_general_ci
#增删改查
create #创建
show #显示
select #选择
alter #修改
drop #删除
建表中单词:
1,#Student表
Sex #性别
Birthday #生日
native #本地/籍贯
National #民族/国家
Telephone #电话
2,#course表
course #课程
nature #性质
credit #学分
remark #备注
提示中单词:
definition #定义*
control #控制*
language #语言*
manage #管理*
query #查询*
affected #影响
sec #片刻
for #给
unknown #未知
structure #结构
just #只是
exit #出口
quit #退出
tiny #极小的 #数据类型
small #小的
medium #中等的
integer #整数
big #大的
float #单精度浮点数
double #双精度浮点数
decimal #小数的
varchar #变长字符串 #字符串类型
tinyblob #不超过255字符的二进制字符串
tinytext #
blob #二进制形式的长文本数据
text #文本
mediumblob #
mediumtext #
logngblob #
long #
binary #二进制
date #日期值 #时间类型YYYY-MM-DD HH:MM:SS
time #时间
year #年份值
datetime #
timestamp #时间戳
current_time() #当前时间
current_date() #当时日期
current_timestamp() #综合
now () #函数。现在
enum #枚举类型
set #类型
must #必须
least #最少的
column #列
empty #空的
学生管理系统源代码
#学生管理系统数据库
mysql> create database if not exists xsgl
-> default character set utf8
-> default collate utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
#创建student表(学号stuid,姓名stuname,性别stusex,生日stubirthday,籍贯native,民族national),联系电话telephone,班级编号classid)
create table if not exists student
(stuid char(8),
stuname varchar(10),
stusex char(2),
stubirthday date,
native varchar(20) comment '籍贯',
national char(6) comment '民族',
telephone char(11),
classid char(10)
);
2,#course表
create table course
(courseid char(8),
coursename varchar(25),
coursenature char(10) comment '课程性质',
credit tinyint(1) comment '学分',
courseremark text comment '备注')
engine=innodb
default character set utf8
default collate utf8_general_ci;
表内数据:
第一 二章
重点
#第一章
1,数据库中的名词
2,数据库三大范式
3,Windows中安装MySQL5.7版本
4,MySQL的启动与停止(net命令)
5,给root用户改登录密码
(1)[]mysqladmin -u root -p旧密码 passWord 新密码;
(2)>set password for 用户名=password('新密码')
(3)>use mysql;
>update user set authentication_string=password('新密码') where user='root' and host='localhost';
>flush privileges;
#第二章
1,创建数据库 create
会查看字符集名;会查看排列规则(collation)
2,查看数据库 show
会查看数据库定义
3,选择数据库 use
4,修改数据库 alter
5,删除数据库 drop
1,关系型数据库是什么?其中的关系是指什么?
答:
- 关系型数据库是一些相关的表和其他数据库对象的集合。
- 数据模型符合满足一定条件的二维表格式。
- “关系”指的是表与表之间的关联和对应规则。
- 对应规则:一对一,一对多,多对多。
2,E-R模型?
- 实体为表。用矩形表示。
- 属性为字段。用椭圆表示。
- 关系为表间关系。用菱形表示。
3,MySQL目录?
- bin:可执行文件。mysql.exe
- docs:版本信息。
- include:头文件。mysql.h
- lib:库文件。
- share:存放字符集,共享文件。
- my.ini:配置文件。
- readme:可能有
4,DOS环境?
答:磁盘操作系统。就黑框模式
5,MySQL在安装时,出现的默认数据库?
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
9 rows in set (0.00 sec)
information_schema #所有数据库的信息
mysql #用户账号,权限等系统信息
performance_schema #服务器的性能信息
sys #系统和性能监控的视图和存储过程
6,字符集与排列规则?
#字符集排序规则
用于确定如何比较和排序字符串数据
gbk_chinese_ci
utf8_general_ci
#字符集
gbk 支持中文
utf8 中英混合
7,数据库中的对象是什么?
答:具有特定结构和功能的数据存储和操作单元。(表,视图,索引等)
8,三大范式?
答:
- 第一范式:字段具有原子性,不可再拆分。举例:课程表案例。
- 第二范式:非主键字段完全依赖于主键。举例:订单表案例。
- 第三范式:消除依赖。学生表案例。
9,MySQL之间的关系
答:一对一、一对多、多对多。
10,MySQL数据库的优缺点?
答:
优点:体积小,速度快,总体拥有成本低,开源免费,支持多种操作系统。
缺点:
第三章
重点
1,理解数值类型
2,理解字符串类型
3,理解时间类型
select now(); #查看当前时间和日期
4,理解复合类型
enum #枚举类型。从一个集合中选取一个值
set #从预定义的集合中取任意数量的值
5,查看当前服务器默认的存储引擎
show engines;
6,查看某表的存储引擎
show create table 表名;
7,建表(重中之重*****)create table
1,数值类型中的类型范围有符号和无符号是什么?
-
是整数数据类型的属性。
-
有符号():能表示正数,负数和0。默认是有符号数。例如int
-
无符号(unsigned):能表示0和正数。例如unsigned int
2,char和varchar的区别?
- char类型实际分配空间时是char指示器长度规定的字节数。
- varchar类型会根据数据的实际长度改变存储值的长度。
3,保存当前时间和日期到数据库中?
- 使用 current_date 或者 now () 函数的值作为输入,将系统的当前日期保存到数据库中。
- 使用 current_time 或者 now ()函数的值作为输入,将系统的当前时间保存到数据库中。
- 使用 now( )或者 current_timestamp( )函数的值作为输入,将系统的当前日期和时间保存到数据库中
4,MySQL中引擎问题?
#问题
1,MySQL 常见的存储引擎有哪些,它们的特点分别是什么?
2,在什么场景下应该选择 InnoDB 引擎,什么场景下选择 MyISAM 引擎?
3,谈谈 InnoDB 的事务支持和锁机制。
4,描述一下 MyISAM 和 InnoDB 在数据存储结构上的差异。
5,如何在创建表时指定存储引擎?
#回答思路
1,MySQL 常见的存储引擎有 InnoDB、MyISAM、MEMORY 等。InnoDB 支持事务、行级锁、外键约束,适合对数据完整性和并发性要求较高的场景。MyISAM 不支持事务和外键,但查询速度较快,适合读多写少且不需要事务支持的场景。
2,如果应用需要事务处理、数据一致性和可靠性,以及经常进行插入、更新和删除操作,应选择 InnoDB 引擎。而对于主要进行读取操作、数据量较大且对事务要求不高的情况,可选择 MyISAM 引擎。
3,InnoDB 支持 ACID 事务,通过行级锁来提高并发性能,在并发操作时能更好地保证数据的一致性。
4,MyISAM 将表存储为三个文件:数据文件、索引文件和表结构文件。InnoDB 则以聚簇索引的方式存储数据,将数据和索引放在一起。
5,在创建表时,可以通过 ENGINE 关键字指定存储引擎,例如:CREATE TABLE table_name (column_definitions) ENGINE = InnoDB;
5,