联合查询:

union:合并、联合,将多次查询结果合并成一个结果

语法:

查询语句1:

union【all】

查询语句2:

union 【all】

。。。

意义

1、将一条比较复杂的查询语句可拆分成多条语句

2、适用于查询多个表的时候,查询的列基本是一致的

四、特点

1、要求多条查询语句的查询列数必须一致

2、要求多条查询语句查询的各列类型、顺序最好一致

3、union去重,union all包含重复项

整体查询总结

语法:

语句                              执行顺序

select 查询列表                (7)

from 表1 别名                   (1)

连接类型 join 表2             (2)

on 连接条件                     (3)

where 筛选                      (4)

group by 分组列表           (5)

having 筛选                       (6)

order by排序列表                 (8)

limit 起始条目索引,条目数分页(9)

DML语言;

插入:

语法:

inser into 表名(字段名。。。)value(值。。。)

特点:

1、要求值的类型和字段的类型要一致或兼容

2、字段的个数和顺序 不一定 和原始表中的字段个数和顺序一致,但必须保证值和字段一一对应

3、加入表中可以为null的字段,注意可以通过一下两种方式插入null值

  1、字段和值都省略

  2、字段写上,值使用nul

4、字段和值的个数必须一致

5、字段名可以省略,默认所有列

方式二

insert into 表名 set 字段=值,字段=值。。。

两种方式的区别:

方式一,支持一次插入多行,语法如下:

insert into 表名【字段名】 value(值),(值,....),。。。

2、方式一支持子查询,语法如下:

insert into 表名

查询语句;

修改单表的记录

语法:

update 表名 set 字段=值,字段=值【where 筛选条件】

修改多表的记录

语法:update 表1 别名 left|right|inner join 表2 别名

on 连接条件

set 字段=值,字段=值

【where 筛选条件】;

删除:

方式一:使用delete

1、删除单表的记录

语法:

delete from 表名 【where 筛选条件】

2、级联删除

语法:delete 别名1,别名2 from表1 别名  inner|left|right join 表2 别名

on 连接条件

【where 筛选条件】【limit 条目】

方式二:使用truncate

语法:truncate table 表名

两种方式的区别【面试题】:

1、truncate:删除后,如果再插入,标识列从1开始

delete:删除后,标识列从断点开始

2、delete 可以添加筛选条件

truncate不可以添加删除条件

3、truncate 效率较高

4、truncate没有返回值

delete 可以返回受影响的行数

5、truncate 不可以回滚

delete可以回滚

DDl

库的管理:

一、创建库

create database [if not exists] 库名【character set 字符集合】;

二、修改库

alter database 库名 【character set 字符集】

三、删除库

drop database【if exist】库名

表的管理:

一、创建表:

语法:create table 【if not exists】 表名(

字段名 字段类型 【约束】,

字段名 字段类型 【约束】,

。。。)

二、修改表:

1、添加列:

alter table 表名 add column 列名 类型【first|after 字段名】

2、修改列的类型和约束

alter table 表名 modify column 别名 新类型【新约束】

3、修改列名:

alter table 表名 change column 旧列名 新列名 类型;

4、删除列

alter table 表名 drop column 列名;

5、修改表名

alter table 表名 rename【to】新表名;

三、删除表

drop table 【if exists】表名

四、复制表

1、复制表的结构

create table 表名 like 旧表;

2、复制表的结构+数据

create table 表名

select 查询列表 from 旧表【where 筛选】;

数据类型:

一、数值型

  整型

  tinyint,smallint、mediumint,int/interger、bigint

特点:

1、均可设置无符号和有符号,默认有符号,通过unsigned设置无符号

2、如果超出范围,会报out or range 异常,插入临界值

3、长度可以不指定,默认会有一个长度

长度代表显示的最大宽度,如果不够则左边用0填充,但需要搭配zerof,并且默认变为无符号整型

浮点型

定点数:decimal(M,D)

浮点数:float(M,D),double(M,D)

特点:

1、M代表整数部位+小数部位的个数,D代表小数部位

2、如果超出范围,则报out or range 异常,并且插入临界值

3、M和D都可以省略,但对于定点数,M默认为10,D默认为0

4、如果精度要求较高,则优先考虑定点数

二、字符型

char、varchar、binary,varbinary、enum,set,text,blob

char:固定长度的字符 写法为char(M),最大长度不能超过M,其中M可以省略,默认为1

varchar:可变长度的字符写法为 varchar(M),最大长度不能超过M,其中M可以省略,

三、日期型

year 年

date 日期

time:时间

datatime:日期+时间

timestamp日期+时间 比较容易受失去,语法模式,版本的影响,更能反应当前时区的真实时间

常见约束:

mysql插入、修改、删除的更多相关文章

  1. Hibernate 插入,修改,删除,查询语句

    /* *具体操作hibernate的类 *增加,删除,修改,按ID查询,模糊查询,查询全部 **/ public class PersonOperate { //在hibernate中所有操作都是由S ...

  2. 图文并解Word插入修改删除批注

    .插入批注 首先选择对象,比如部分文字[hd1] ,之后执行这样的操作:"插入"→"批注":插入的批注处于编辑状态,可以直接输入批注的文字即可;图解如下: .修 ...

  3. Mysql创建修改删除-表

    创建表之前要链接到库  例如  库名为 student use student; 连接结束可以查看此库中所有表 show tables; 创建表 create table student( id in ...

  4. jdom 插入 修改 删除

    创建XML文档 XML文件是一种典型的树形文件,每个文档元素都是一个document元素的子节点.而每个子元素都是一个Element对象,对象可以向下包含. 1 因此我们可以通过先创建元素再将元素添加 ...

  5. hibernate操作mysql插入修改中文出现乱码

    第一步:mysql的安装目录下配置文件my.ini里面的所有default-character-set改成default-character-set = utf8: 第二部:建立数据库时候字符集选项选

  6. mysql DML 数据插入,删除,更新,回退

    mysql插入,删除,更新地址:https://wenku.baidu.com/view/194645eef121dd36a32d82b1.html http://www.cnblogs.com/st ...

  7. 我的MYSQL学习心得(八) 插入 更新 删除

    我的MYSQL学习心得(八) 插入 更新 删除 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得( ...

  8. JDBC连接(MySql)数据库步骤,以及查询、插入、删除、更新等十一个处理数据库信息的功能

    主要内容:  JDBC连接数据库步骤. 一个简单详细的查询数据的例子. 封装连接数据库,释放数据库连接方法. 实现查询,插入,删除,更新等十一个处理数据库信息的功能.(包括事务处理,批量更新等) 把十 ...

  9. MySQL B+树 的插入与删除

    一.MySQL Index 的插入 有如下B+树,其高度为2,每页可存放4条记录,扇出为5.所有记录都在叶子节点上, 并且是顺序存放,如果用户从最左边的叶子节点开始顺序遍历,可以得到所有简直的顺序 排 ...

  10. mysql插入数据与删除重复记录的几个例子(收藏)

    mysql插入数据与删除重复记录的几个例子 12-26shell脚本实现mysql数据的批量插入 12-26mysql循环语句插入数据的例子 12-26mysql批量插入数据(insert into ...

随机推荐

  1. jstack的使用方法

    背景 记得前段时间,同事说他们测试环境的服务器cpu使用率一直处于100%,本地又没有什么接口调用,为什么会这样?cpu使用率居高不下,自然是有某些线程一直占用着cpu资源,那又如何查看占用cpu较高 ...

  2. 给类型为text的input设置value值却无法修改

    给类型为text的input设置value值后就无法修改了 我的页面显示为如下但是退格却无法改变他的值 原来是缺少onChange事件,没法监听value的改变 所以需要添加 onChange={th ...

  3. Day2 HTML基本标签元素

    Day2   HTML基本标签元素 HTML:  超文本标记语言(HyperText   Mark-up  Language ) 1.作用:写网页结构  2.HTML不区分大小写,建议小写   3.文 ...

  4. weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架

    写在前面的话: weex官方文档不完善,在整个实施过程中遇到过很多坑,中途几次想放弃,总是有些不甘心.攻坚克难,总也是会有一些收获,先将收获进行分享也或是记录,防止忘记.要想用好weex必须对es5/ ...

  5. Mysql数据库操作语句总结(三)

    最近一段时间重新学习一下mysql命令行的用法, 这里简单记录一下 参考文章: https://www.cnblogs.com/bluealine/p/7832219.html 个人使用的是mysql ...

  6. VM安装centOS6.9

    1.首先要下载一个centos的iso镜像,用VMware创建一个空白硬盘. 2.创建完毕再设置里面挂载iso的centos系统文件. 3.进入到这个页面: 说明: ①install or upgra ...

  7. PHP:implode(),emplode() 字符串数组,数组字符串转换函数

    1.implode()-Join array elements with a string(把数组元素组合为一个字符串.) string implode([string $separator,] ar ...

  8. IOS 控制器的数据传递 (顺传 and 逆传)

    ● 控制器之间的数据传递主要有2种情况:顺传和逆传 ➢ 顺传 ●  控制器的跳转方向: A ->C ●  数据的传递方向 : A -> C ● 数据的传递方式 : 在A的prepareFo ...

  9. Android(java)学习笔记83:各种边距设置

    1. 各种边距设置: (1)android:layout_paddingLeft 内边距,对谁用,指的是谁的内部内容边距 (2)android:layout_marginLeft 外边距,对谁用,指的 ...

  10. 【洛谷2051】[AHOI2009] 中国象棋(烦人的动态规划)

    点此看题面 大致题意: 让你在一张\(N*M\)的棋盘上摆放炮,使其无法互相攻击,问有多少种摆法. 辟谣 听某大佬说这是一道状压\(DP\)题,于是兴冲冲地去做,看完数据范围彻底懵了:\(N≤100\ ...