1.让自增长从新开始

ALTER TABLE users auto_increment =1;//让表中的自增长从新从0开始

2.条件查询

SELECT name from  users WHERE id =1;//查询users表中ID为1的数据

3.增加字段

ALTER  table  users add city  char (20);// 在users 表中增加city字段

4.在一个字段前面添加一个字段(在name后面添加一个字段)

ALTER  table  users add province  char (20) AFTER name;

5.增加时间字段

选择datetime类型

6.外键的约束

a.可以明确声明表与表之间的参照关系,是数据库帮我们维护这种关系,

b.如果后序操作破坏这种外键约束,这时候数据库就会阻止这中情况执行。

c.(1.字表中插入一条数据,如果引用字段在父表中不存在,会被阻止。2.删除父表中的某一条记录,如果字表中存在该记录的引用,则删除会被阻止。)

————references 引用(参照)

————子表:引用表(emp 是子表)

————父表:被引用表(dep 是父表)

7.通过创建表加外键

create table dep(//父表

   id int primary key auto_increment,

   name varchar(30)

);

create table emp(//子表

   id int primary key auto_increment,

   name varchar(30),

   dep_id int ,

   foreign key (dep_id)references dep(id)

);

insert into dep values (null,"财务部"),(null,"人事部"),(null,"行政部"),(null,"科技部");

insert into emp values (null,"张三",1),(null,"李四",2),(null,"王五",3),(null,"周六",4),(null,"张全蛋",5);

8.通过修改表加外键

create table emp(

    id int primary key auto_increment,

    name varchar(30),

    dep_id int

);

//添加外键

alter table emp add constraint fk_name foreign key (dep_id)references dep (id);

9.查询外键名称

show create table emp;//emp是子表

10.删除外键

alter table emp drop foreign key (fk_name);

11.关系设计(数据表与数据表)

一对一:教室 & 班级   可以在任意一方保存另一方的主键作为外键。

一对多 : 学生& 班级  在多的一方,设计外键保存另一方的ID

多对多 : 学生& 老师  需要一个第三方关系表来存储两张表的主键,用于表示它们之间的对应关系

12.查询两张表的笛卡尔积

select * from emp,dep;

13.内连接查询

select  * from emp, dep where dep.id = emp.dep_id;

select * from emp inner join dep on dep.id =emp.dep_id; 

select * from emp inner join dep where dep.id =emp.dep_id;

14.左外连接查询(在内连接的基础上增加上左边表有而右边表没有的记录)

select * from emp left join dep on dep.id = emp.dep_id;

15.右外连接查询(在内连接的基础上增加上右边表有而左边表没有的记录)

select * from emp right join dep on dep.id = emp.dep_id;

16.全外连接查询(内连接以外的)mysql 不支持该语法

select * from emp full join dep on dep.id = emp.dep_id;

17.mysql 全外使用union 操作完成

select * from emp lefe join dep on dep.id = emp.dep_id

union 

select * from emp right join dep on dep.id = emp.dep_id;

18.带in关键字的子查询

例:查询存在年龄为20 的员工的部门名称

//如果部门id 在in后面的集合里面,就查询出该id对应的部门名称

//select dep_id from emp where age=20查询出年龄=20的员工部门id的集合

select d.name as '部门名称' from department as d where id in(select dep_id from emp where age=20);

19.带not in关键字的子查询

例:查询不存在年龄为20的员工的部门名称

select d.name as '部门名称' from department as d where id not in(select dep_id from emp where age=20);

20.带exists关键字的子查询

例:查询是否存在年龄小于18的 员工,如果有则查询department表中的所有记录

//如果说括号里面查询出来的结果不为空,就会执行前面的查询,否则不执行。

select * from department where exists (select * from employee where age<18);

21.带any 关键字的子查询

例:查询department表中的id 大于employee 表中所有记录dep_id 至少一个的所有记录

//只有括号查询结果里面有至少一个小于,就要执行前面的查询结果

select * from department where id>any (select dep_id from employee);

22.带all 关键字的子查询

例:查询department 表中的所有id 大于employee 表中的所有记录

mysql>  select * from department where  id>all(select dep_id from emp);

23.事物:逻辑上的一组操作,要么同时完成,要么同时不完成。

24.自定义事物(提交事物)

start transaction;//开始事物

update bank_account set money=money-100 where name='a';

update bank_account set money=money+100 where name='b';

commit;

//当事物在没有commit(提交)事务里面的sql语句执行成功不会立刻产生效果(这是因为mysql默认的隔离级别为repeatable read),事务提交(commit)后才能对数据产生效果。

25.自定义事物(回滚事物)

start transaction;//开始事物

update bank_account set money=money-100 where name='a';

update bank_account set money=money+100 where name='b';

rollback;

//rollback(回滚),让事物开始后的sql 语句执行效果失效

//事物执行过程中意外中断会默认执行事物的回滚(rollback)操作;

26.事物的四大特性:ACID(数据库自带的功能,除隔离性之外,都不需要我们自己维护)

1.原子性(Atomicity):事物是一组不可分割的单位,要么一起成功要么一起失败。

2.一致性(Consistency):事物前后的数据完整性应该保持一致。(满足所有约束)

3.隔离性(Isolation):多个用户同时操作事物,事物之间互不干扰。

4.持久性(Durability):事务一旦提交,就能对数据永久改变,不会因为中途中断而被影响。(一旦commit;就不能rollback;)

27.四大隔离级别:

1.read uncommitted;不做任何隔离

2.read committed;只能防止胀度。

3.repeatable read;可以防止胀读,不可以重复读,但是不能防止虚读(幻读)。(mysql默认是这个级别)

4.serializable; 数据库运行串行化,所有问题都不会产生,但是性能低。

安全性越高,性能越低:

从安全性:4>3>2>1

从性能:1>2>3>4

对于隔离级别,默认的最好。

28.修改数据库的隔离级别:

1.set tx_isolation='READ-UNCOMMITTED';
2.set tx_isolation='READ-COMMITTED';
3.set tx_isolation='REPEATABLE-READ';
4.set tx_isolation='SERIALIZABLE';

29.查询当前数据库的隔离级别

select @@tx_isolation;

30.胀读:一个事务读取到另一个事务未提交的数据.

31.不可重复读:一个事务多次读取同一条记录,读取到不同结果。(一个事务读取到另一个事务已经提交的数据)

32.幻读(虚度)问题:一个事务多次查询表中的多条数据,由于其他事务增加(删除)造成多次查询的结果不同,的时候有时能出现,有时不能出现。

mysql 可视化界面操作指令的更多相关文章

  1. github之无命令可视化界面操作——GitHub DeskTop

    Git是Linuxs之父Lunus用C语言写的一个非常好用的分布式版本控制系统. GitHub可以给我们提供免费的代码仓库,并用Git可以在上面提交代码并进行版本控制.使用Git一般要安装Git ,并 ...

  2. linux安装mysql可视化界面

    之前是一直用shell交互界面,但是最近频繁地检查数据库中的数据感觉特别麻烦,便装了一个可视化工具. 安装: $ sudo apt-get install mysql-workbench [sudo] ...

  3. github---无命令可视化界面操作

    最近工作需要,研究了一下git,这个东西挺实用,给我的感觉并不是那么简单使用,我认为还可以再深入的研究一下,挺好玩的~ 说一下我的学习路线: 1.先看的廖老师的博客:https://www.liaox ...

  4. 基于swing的MySQL可视化界面

    个人记录贴... 代码过烂不宜参考.. 效果展示 1.选择需要打开的数据库,查看数据库下的表. 2.双击打开一个表 3.没有CRUD.... 代码 test-main: import shell.DB ...

  5. 使用navicat for mysql图形界面操作数据库、使用node.js操作数据库写接口

    1.先启动MYSQL服务 2.打开navicat for mysql, 点击链接,输入如下的内容: 3.新建数据表 4.数据库(新建一个db.js) //数据库链接配置 module.exports ...

  6. pycharm + git+gitlab的可视化界面操作

    前言: 写这篇博​​客,主要为了记录一套经过本人实践,并运行通过的操作gitlab流程. 通过以下步骤,可实现最基本的远程服务器(gitlab)和本地工具(pycharm)的,针对两端文件增删改查的及 ...

  7. Ubuntu mysql安装,还有可视化界面

    安装mysql sudo apt-get install mysql-server sudo apt-get install mysql-client sudo apt-get install lib ...

  8. ubuntu安装mysql可视化工具MySQL-workbench及简单操作

    一.使用命令行在ubuntu下安装mysql可视化工具MySQL-workbench Step1:安装MySQL-workbench 方案一:如果你已经装好mysql的相关服务,那么直接使用如下命令即 ...

  9. 反编译(javap)操作和可视化界面

    1.反编译(javap)操作和可视化界面 演示:

随机推荐

  1. BluetoothAdapter解析

    这篇文章将会详细解析BluetoothAdapter的详细api, 包括隐藏方法, 每个常量含义. 一 BluetoothAdapter简介 1.继承关系 该类仅继承了Object类; 2.该类作用 ...

  2. 原生js 自定义confirm

    本文参考博客园另一篇文章:https://www.cnblogs.com/hzj680539/p/5374052.html,在此感谢. 在实际开发当中,考虑到原生js组件,包括alert.confir ...

  3. Sqoop使用笔记(转载)

    Sqoop是Apache顶级项目,主要用来在Hadoop和关系数据库中传递数据.通过sqoop,可以方便的将数据从关系数据库导入到HDFS,或将数据从HDFS导出到关系数据库. 关于Sqoop 官网S ...

  4. DEDE去掉会员登录及注册验证码的方法

    1.登录打开member/index_do.php 删除245-250行,即: if(strtolower($vdcode)!=$svali || $svali=='') { ResetVdValue ...

  5. udp->ip & tcp->ip 发送数据包的目的地址的源地址是什么时候确定的?

    udp->ip & tcp->ip udp到ip层是:ip_send_skb tcp到ip层是: ip_queue_xmit 拿tcp为例,在使用[ip_queue_xmit, i ...

  6. CS6的安装与破解

    大家在Mac下肯定也少不了对图片进行修改,那也就少不了Photoshop这款软件. 今天在这里分享下苹果下的Adobe PhotoshopCS6,这个软件大家应该都很熟悉,主要功能什么我就不多做介绍了 ...

  7. IOI 98 (POJ 1179)Polygon(区间DP)

    很容易想到枚举第一步切掉的边,然后再计算能够产生的最大值. 联想到区间DP,令dp[i][l][r]为第一步切掉第i条边后从第i个顶点起区间[l,r]能够生成的最大值是多少. 但是状态不好转移,因为操 ...

  8. Go语言【第十篇】:Go数据结构之:指针

    Go语言指针 Go语言中指针是很容易学习的,Go语言中使用指针可以更简单的执行一些任务.我们都知道变量是一种使用方便的占位符,用于引用计算机内存地址.Go语言的取地址符是 &,放到一个变量前使 ...

  9. Docker的结构(6-13)

    一.Docker的结构. Docker命令不清楚的时候可以在命令的最后加上--help Docker和虚拟机的区别? 虚拟机的实现原理是:先模拟出一套硬件,然后在这基础上跑一个操作系统,然后在这个操作 ...

  10. [APIO2017]商旅 0/1分数规划

    ---题面--- 题解: upd: 在洛谷上被Hack了...思路应该是对的,代码就别看了 感觉有个地方还是非常妙的,就是因为在x买东西,在y卖出,就相当于直接从x走向了y,因为经过中间的城市反正也不 ...