#外键  表与表相连 列名 MUL 外键 参照完整性 不能添加另一个表没有的字段
create table study_record(
id int auto_increment primary key,
day int not null,
status char(32) not null,
stu_id int not null,
#创建外键
key 'fk_student_key' ('stu_id'), #起个名字
constraint 'fk_student_key' foreign key ("stu_id") references 'student' ('id')
)
#若表1是参照的 表2是跟随的 如果删除2 是可以的! 但是如果删除1 是不可以的 #NULL 值处理
#IS NULL 如当前值为空 则返回true
#IS NOT NULL 不为空
#不能用 = NULL 或者!= NULL 永远记住 NULL值与任何比较都返回false #mysql连接多表查询
# left join
#right join
#inner join 内连接 获取两个表匹配记录
#full join create table A (a int not null )
create table B (b int not null)
insert into A (a) values(1);
insert into A (a) values(2);
insert into A (a) values(3); insert into B (b) values(4);
insert into B (b) values(5);
insert into B (b) values(6);
求交集 内连接 inner join
select * from A inner join B on A.A = B.b;
select a.*, b.* from A,B where A.a=B.b; 求差集 left join
select * from A left join B on A.a = B.b; 求差集 反向的left join
select * from A right join B on A.a = B.b; 求并集 full join mysql是不支持full join 一般并集无用
select * from a full join B on A.a = B.b; 并集 MySQL
select * from A left join B on A.a = B.b union select * from A right join B on A.a = B.b; 事务必须满足四个条件
原子性(atomicity) 要么成功要么撤回
稳定性(consistency) 有非法数据时 事务撤回
隔离性Isolation 事务独立运行 一个事务处理后的结果影响事务 name其他事务会撤回
可靠性durability 硬件奔溃的时 InnoDB数据会利用日志文件重构修改 可靠和高速度不可兼容
#数据库 成批的 要么都成功 要么都失败
修改 删除 插入 才需要事务
默认为 Innodb 只有innodb才支持事务 mysql sum不支持事务 开启一个事务 begin;
select * from student;
insert into student (name , register_date, gender ) values('ljc', '2014', 'M');
insert into student (name , register_date, gender ) values('ljc', '2014', 'M');
已经插入表里
如果出现问题 可回滚 输入rollback; 或者会自动回滚 (id会自增 但不影响) begin;
insert into student (name , register_date, gender ) values('ljc', '2014', 'M');
insert into student (name , register_date, gender ) values('ljc', '2014', 'M');
commit 确认提交 索引 #使表查询更快 索引可以有很多个!! mysql索引是通过二叉树(B tree)实现 和hash差不多
单列索引 和 组合索引(两个列)就是想两个列加起来唯一!!!
创建索引时 记住查询时用索引查询!!
索引也为表 一个排序好了的数字表
但是 过多索引也会有缺陷 更新表时,也需要更新数字表,需要重新排数据表!! 所以更新时速度会变慢
增加磁盘空间!!
主键就是索引!!! 查看索引 show index from 表名
show index from 表名;
create index index_name on 表名(列名()) #index_name 是key_name 与原表无关系 随意定
create index index_name on student(name(32)) 修改表结构添加
alter student add index index_name on (列名()) 创建表添加
create table student(id int not null, index index_name (列名(长度)))
create table student (id int not null, index index_name (name(32))); ************ 删除索引
drop index index_name on 表名; show index from student
drop index index_name on student; 唯一索引 索引列值必须唯一 可以有空值 主键就是 区别就是添加unique
alter student add unique index_name on (username(32))
create table student(unique index_name (username(32)))
create unique index index_name on student(username(32)) 使用alter添加和删除主键
alter table student modify id int not null;
alter table student add primary key(id); alter删除主键
alter table student drop primary key;不知道索引名时删除
alter table student drop primary key(id); ??????????? show index from student\G 不需要添加; 将数值列表名都列表显示

Mysql基础第二部分,针对以后python使用的更多相关文章

  1. Mysql基础部分,针对以后python使用

    #redis 非关系型数据库#mysql 关系型数据库 表与表之间有数据关系 Oracle Mysql SqlServer DB2#多张表组合在一起就是数据库#冗余 存储两倍数据 可以使系统速度更快 ...

  2. python【第十二篇】Mysql基础

    内容: 1.数据库介绍及MySQL简介 2.MySQL基本操作 1 数据库介绍 1.1什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数据库都有一个或多个不同 ...

  3. python操作mysql基础一

    python操作mysql基础一 使用Python操作MySQL的一些基本方法 前奏 为了能操作数据库, 首先我们要有一个数据库, 所以要首先安装Mysql, 然后创建一个测试数据库python_te ...

  4. MySQL基础语句与其在Python中的使用

    一.MySQL基础语句 $ mysql -u root -p (有密码时) $ mysql -u root     (无密码时) QUIT (or \q)  退出 查看当前所有数据库 show dat ...

  5. python进阶08 MySQL基础补充

    python进阶08 MySQL基础补充 本次课程都是基于三张表格的使用 一.子查询 #如何找到‘张三’的成绩 #思路:先找到张三的学号,在拿这个张三的学号到成绩表里面去匹配,得出成绩 #如何用一条查 ...

  6. Mysql基础学习第二天

    Mysql基础学习第二天 函数 函数:是指一段可以直接被另一段程序调用的程序或代码. 字符串函数 数值函数 日期函数 流程函数 字符串函数 MySQL内置很多字符串函数,常用的几个如下: 函数 功能 ...

  7. python学习之-- Mysql 基础知识

    数据库介绍及MYSQL基础操作了解 关系型数据库(RDBMS)是按照数据结构来组织,存储和管理数据的仓库.特点:1:数据以表格的形式出现2:每行为各种记录名称3:每列为记录名称所对应的数据域4:许多的 ...

  8. MySQL基础和习题强化(完结)

    Mysql 1.     Mysql基础知识 1.1.     Index and table searching of Mysql 1.1.1.     Basic concepts of Mysq ...

  9. MYSQL基础操作

    MYSQL基础操作 [TOC] 1.基本定义 1.1.关系型数据库系统 关系型数据库系统是建立在关系模型上的数据库系统 什么是关系模型呢? 1.数据结构可以规定,同类数据结构一致,就是一个二维的表格 ...

随机推荐

  1. Spring boot配置404、500页面

    Spring boot 配置404页面很简单,如果你访问的url没有找到就会出现spring boot 提示的页面,很明显Spring boot不用配置就可以显示404页面了. 在template下创 ...

  2. state.sls web.apache

    [root@master01 web]# salt 'node02' state.sls web.apache node02: ----------           ID: apache-inst ...

  3. javaweb实现教师和教室管理系统 java jsp sqlserver

    1,程序设计思想 (1)设计三个类,分别是工具类(用来写连接数据库的方法和异常类的方法).信息类(用来写存储信息的方法).实现类(用来写各种操作数据库的方法) (2)定义两个jsp文件,一个用来写入数 ...

  4. 题解 LNOI2014 LCA

    题目:传送门 这道题根本不用lca,也没有部分分... 考虑求两个点xy的lca的深度. 我们将x到树根所有点的值都加1,然后查询y到根的和,其实就是lca的深度. 所以本题离线一下上树剖乱搞就可以了 ...

  5. 【codeforces 404D】Minesweeper 1D

    [题目链接]:http://codeforces.com/problemset/problem/404/D [题意] 让你玩一个1维的扫雷游戏; 游戏的描述由数字0..2以及符号*表示; 分别表示这个 ...

  6. 2015 Multi-University Training Contest 2 hdu 5303 Delicious Apples

    Delicious Apples Time Limit: 5000/3000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Other ...

  7. NYIST 1108 最低的惩罚

    最低的惩罚 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 那么现在问题就来了... 给你N(1=<N<=15)个任务,每个任务有一个截止完成时间t(1= ...

  8. 后缀自己主动机(SAM)学习指南

    *在学习后缀自己主动机之前须要熟练掌握WA自己主动机.RE自己主动机与TLE自己主动机* 什么是后缀自己主动机 后缀自己主动机 Suffix Automaton (SAM) 是一个用 O(n) 的复杂 ...

  9. 阿里云X-Forwarded-For 发现tomcat记录的日志所有来自于SLB转发的IP地址,不能获取到请求的真实IP。

    1.背景:阿里云的SLB的负载均衡,在tomcat中获取不到真实IP,而是阿里的内网IP,SLB中俩台或者3台本身是局域网,这里是SLB原理,能够看看.没怎么看懂.呵呵,要细细读下. 2.须要开启to ...

  10. array_unique和array_flip 这两个函数的区别

    array_unique和array_flip 这两个函数的区别 标签(空格分隔): php array_unique 和 array_flip 验证 1 没有排序的数组 2 array_unique ...