数据库基础知识
一、数据类型和约束
- 数据类型
整数int
小数decimal:decimal(5,2) 表示共存5位数,小数占2位,整数占3位
字符串varchar:varchar(3) 表示最多存3个字符,一个中⽂或一个字母都占一个字符
日期时间datetime:范围(1000-01-01 00:00:00 ~ 9999-12-31 23:59:59),例例如:'2020-01-01 12:29:59'
- 约束:约束是对数据表进行限制,确保符合数据要求
主键(primary key): 能唯⼀标识表中的每⼀条记录的属性组,自动递增 + 无符号
⾮空(not null): 此字段不允许填写空值
唯⼀(unique): 此字段的值不允许重复
默认值(default): 当不填写此值时会使⽤用默认值,如果填写时以填写为准
外键(foreign key): 一个表中的一个字段引⽤用另⼀个表的主键
二、数据库的创建、使用、修改、删除
位置:可以选择连接数据库或数据表新建查询窗口,来编写SQL语句
ctrl + / 注释
- 创建
语法:create database 数据库名 【charset=字符编码】【collate=校验规则】;
例子:create database python charset=utf8 collate=utf8_general_ci;
查看数据库:show create database 数据库名;
- 使用/切换
语法:use 数据库名; -- 这条也可以切换到use后的数据库
查看当前数据库:select database();
- 修改
语法: alter database testpython
default character set utf8mb4
default collate utf8mb4_general_ci;
- 删除
语法:drop database 数据库名;
查看所有数据库:select databases;
- 备份数据库:
方法1:SQL软件中实现:
转储 --> 结构+数据 --> 选择位置
方法2:Linux系统中:
备份:mysqldump -uroot -p test(数据库名称) > test.sql
恢复:mysql -uroot -p tset < rest.sql
* 这里的><符号注意是不同的
- 创建表:auto_increment:自动增长
create table 表名 (
name varchar(5)
);
create table students (
id int unsigned primary key auto_increment,
name varchar(20),
age int unsigned,
height decimal(5,2)
);
判断表是否存在,如果存在先删除再创建
drop table if exists students ;
ddl信息在右侧边栏,编写可能会用到。
P168
-
获取创建表的语句:show create table students; 获得下面ddl语句
CREATE TABLE `students` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `name` varchar(20) DEFAULT NULL, `age` int unsigned DEFAULT NULL, `height` decimal(5,2) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3
-
查看表结构(字段):desc students;
(((该看171了,休息一会,马上回来
三、数据库的增加
-
根据表格式增加一行内容ÿ