python学习之老男孩python全栈第九期_数据库day001知识点总结 —— MySQL操作数据库以及数据表、基本数据类型、基本增删改查、外键定义以及创建
一. 学习SQL语句规则以及外键
1. 操作文件夹
create database db2; 创建文件夹
create database db2 default charset utf8; 创建文件夹,且数据库是utf-8编码
show databases; 查看文件夹
drop database db2; 删除文件夹
2. 操作文件
use dn2; 进入文件夹
show tables; 查看所有文件
create table t1(id int,name char(10)); 创建一个有两列的表
create table t1(id int,name char(10)) default charset = utf8; 创建一个有两列的表,且内容为utf8编码 create table t1(
列名,类型 null, # 是否为空
列名,类型 not null default 1,
列名,类型 not null auto_increment, # 自增
id int,
name char(10)
) engine = innodb default charset = utf8;
比如:
create table t1(
id int not null auto_increment primary key, # 这两个一般要一起写
# auto_increment : 表示自增;一个表里面只能有一个自增列
# primary key :表示 约束(不能重复,且不能为空);加速查找
name char(10)
) engine = innodb default charset = utf8; innodb 支持事务,原子性操作
myisam 不支持事务 delete from t1; # 把表里面的内容清空,且若再插入数据,自增id会继续之前的顺序,而不是从头开始自增
truncate table t1; # 把表里面的内容清空,且若再插入数据,自增id会从头开始自增
drop table t1; # 删除表
3. 操作文件中内容
insert into t1(id, name) values(1, 'egon'); 插入一条数据 delete from t1 where id < 6; 删除数据 update t1 set age =18; 把age列 全部改成18
update t1 set age =18 where age = 17; 把age等于17的,改成18 select * from t1; 查看
外键:
create table userinfo(
uid bigint auto_increment primary key,
name varchar(32),
department_id int,
constraint fk_user_depar foreign key ('department_id',) references department('id') # 外键约束
)engine = innodb default charset = utf8; create table department(
id bigint auto_increment primary key,
titlt char(32)
)engine = innodb default charset = utf8;
二. MySQL数据表基本数据类型
数据类型:
数字:
tinyint
int
bigint
小数:
float(不太精准)
double(不太精准)
decimal(精准小数) 字符串:
char(10): (最大255字符)
如果没有10个,就会自动填充空格到10个,(root )
varchar(10): (最大255字符)
最多能写10个,不会填充(root),节省空间,但速度没有char快
创建数据表时,定长列往前放置,变长的往后放 text 上传文件:
文件存硬盘
db存路径 enum 枚举 set 时间类型:
datetime:YYYY-MM-DD HH:MM:SS create table t1(
id int not null auto_increment primary key,
num decimal(10,5), # ()里面 第一个数是总位数,第二个数是小数点后面最多几位
name char(10)
) engine = innodb default charset = utf8;
python学习之老男孩python全栈第九期_数据库day001知识点总结 —— MySQL操作数据库以及数据表、基本数据类型、基本增删改查、外键定义以及创建的更多相关文章
- python全栈开发中级班全程笔记(第二模块、第三章)(员工信息增删改查作业讲解)
python全栈开发中级班全程笔记 第三章:员工信息增删改查作业代码 作业要求: 员工增删改查表用代码实现一个简单的员工信息增删改查表需求: 1.支持模糊查询,(1.find name ,age fo ...
- python学习之老男孩python全栈第九期_数据库day004知识点总结 —— MySQL数据库day4
复习: 1. MySQL:文件管理的软件 2. 三部分: - 服务端 - SQL语句 - 客户端 3. 客户端: - MySQL - navicat 4. 授权操作: - 用户操作 - 授权操作 5. ...
- python学习之老男孩python全栈第九期_数据库day002知识点总结 —— MySQL数据库day2(全部)
一. 复习1. MySQL: - 服务端 - 客户端2. 通信交流 - 授权 - SQL语句 - 数据库 创建数据库: create database db1 default charset utf8 ...
- python学习之老男孩python全栈第九期_第二周学习总结
迭代器 双下方法:很少直接调用的方法,一般情况下,是通过其他语法触发的 1. 可迭代的 --> 可迭代协议:含有__iter__的方法( '__iter__' in dir(数据) ) 可迭代的 ...
- python学习之老男孩python全栈第九期_第一次周末考试题(over)第三次添加完毕
day 6python基础数据类型考试题 考试时间:两个半小时 满分100分(80分以上包含80分及格) 一,基础题. 1. 简述变量命名规范(3分) 答:(1) 变量为数字,字母以及下划线的任意组合 ...
- python学习之老男孩python全栈第九期_数据库day005知识点总结 —— MySQL数据库day5
三. MySQL视图(不常用) 给某个查询语句设置个别名(视图名),日后方便使用 - 创建: create view 视图名 as SQL; PS:视图是虚拟的 - 修改: alter view 视图 ...
- python学习之老男孩python全栈第九期_数据库day002 -- 作业 (数据库为day001创建的数据库)
1.自行创建测试数据 对score表进行优化: 添加数据: 2.查询“生物”课程比“物理”课程成绩高的所有学生的学号: 为了方便做题,额外增加几条数据 查询: 3.查询平均成绩大于60分的同学的学号和 ...
- python学习之老男孩python全栈第九期_数据库day004 -- 作业
https://www.cnblogs.com/YD2018/p/9451809.html 11. 查询学过“001”并且也学过编号“002”课程的同学的学号.姓名 select student.si ...
- python学习之老男孩python全栈第九期_数据库day003知识点总结 —— MySQL数据库day3
复习: 1. 增 insert into xx(name) values('root'),('xxx'); insert into xx(name) select id from tb1; 2. 自增 ...
随机推荐
- MySQL(动态执行SQL)
day61 防sql注入 delimiter \\ CREATE PROCEDURE p4 ( ), in arg int ) BEGIN set @xo = arg; PREPARE xxx FRO ...
- poj1456---贪心
题目大意: 有n个商品,每个商品有价值和一个最后期限,过了这个期限该商品就不能卖出去了 问你如何去卖,能得到最大的收益.(每个东西卖一天,不能同时卖两种东西) 思路: 贪心: 先按价值对商品排序,价值 ...
- 在centOS 7 中安装 MySQL
知道来源:https://www.cnblogs.com/bigbrotherer/p/7241845.html 1 下载并安装MySQL官方的 Yum Repository [root@localh ...
- 关于使用Iscroll.js异步加载数据后不能滑动到最底端的问题解决方案
关于使用Iscroll.js异步加载数据后不能滑动到最底端,拉到最下边又弹回去的问题困扰了我老半天,相信很多朋友都遇到了.我刚好不小心解决了,和大家分享一下.由于各种忙,下边就直接上代码吧. (前提是 ...
- Android studio 安装的安装若干问题
1.在国内如何更新android sdk? 由于众所周知的某些原因,我们无法直接连接android sdk的更新服务更新sdk,所以可以通过国内的ftp站点把常用的sdk组件如android plat ...
- IQKeyboardManager 问题锦集
Keep UINavigationBar at the top (Don't scroll with keyboard) (#21, #24) If you don't want to hide th ...
- easyui 中iframe嵌套页面,大弹窗自适应居中的解决方法。$('#win').window()
easyui 中iframe嵌套页面,大弹窗自适应居中的解决方法.$('#win').window() 以下是左边栏和头部外层遮罩显示和隐藏方法 /*外层 遮罩显示*/ function wrapMa ...
- (转)支持Multi Range Read索引优化
支持Multi Range Read索引优化 原文:http://book.51cto.com/art/201701/529465.htm http://book.51cto.com/art/2016 ...
- android开发中的 Activity 与 Context 区别与联系
Context 是 Application /Activity /Service的基类 Intent(Context , Class); Activity中的上下文Context是随着活动的产生而产生 ...
- Vue使用过渡类名实现动画和自定义前缀
Vue使用过渡类名实现动画和自定义前缀 1.效果演示 2.相关代码 <!DOCTYPE html> <html lang="en"> <head> ...