mysql 学习笔记4

1. 自然连接

  1. 通过mysql 自己的判断完成连接的过程, 而不需要指定连接条件, mysql使用多个表中的相同字段作为连接条件。

    • 内连接 natural join ? inner join using

    • 左外连接 natural left join ? left join using

    • 右外连接 natural right join ? right join using

      ps: left join 和 right join 之间是可以相互转化的

  2. 支持多表连接查询

  3. 小结

    这个图片, 传上来就是这个样子, 也不知道该怎么旋转, 如果有人知道怎么弄的话, 恳请指教一下。

2. 重定向

  1. mysql 除了可以将输出结果返回到界面上, 也可以将输出结果写入到文件中。
select * into outfile xxx from ....

需要注意的是,他不允许重写已经存在的文件, 但是可以创建新的文件。默认使用’\t’区分字段, 使用’\n’区分记录, 可以修改。

3. 插入数据

  1. 使用 insert into 插入数据

  2. 当插入数据冲突的时候, 可以使用on duplicate key update 进行更新数据

  3. 另外需要注意, 我们可以使用select 查询得到的子句的结果来进行插入

  4. default

  5. replace into 用于插入数据, 可以处理主键或者唯一索引冲突问题
  6. load data infile 可以用来设置从文件中导入数据, 以及数据的格式

4. 删除数据

  1. delete from xxx limit n

  2. limit 用来限制记录的数目, 可以与order by 配合使用
  3. 支持连接删除, 可以用来模拟外键约束
delete from one, two using one join two on xxx where xxx

5. 清空表

  1. truncate 直接将表格删除然后新建一个表, 因而, 他的自动增长索引是从0 开始计算的。
  2. 而 delete from table 数据删除了, 但是他们的自动增长的索引值不不会变为 0 的。

6. 更新表

  1. replace / insert on duplicate key update
  2. 条件更新, limit, order by & limit etc
  3. 支持多个表同时更新
update [one join two on xxx] set xxx where xxx
时间: 2024-11-24 14:12:27

mysql 学习笔记4的相关文章

MySQL学习笔记-基础入门

MySQL学习笔记

MySql学习笔记(一)之DQL常用查询

MySql学习笔记(一)之DQL常用查询 前言:mysql是中小型的数据库软件,SQL语言分为DDL,DCL,DML,DQL四种,在这里重点讲解DQL的单表查询. 正文:在学习mysql单表查询之前,我们先做一些准备工作. 需要安装的软件如下: 1.mysql,版本可以选择5.1或者5.5,安装过程可以参考博客:http://www.cnblogs.com/ixan/p/7341637.html 2.mysql图形化管理软件:Navicate,sqlyog(二选一,推荐使用sqlyog). 本文

MySQL学习笔记-自定义函数

MySQL学习笔记-自定义函数 1.自定义函数简介 自定义函数:用户自定义函数(user-defined function,UDF)是一种对MySQL扩展的途径,其用法与内置函数相同 自定义函数的两个必要条件:(1)参数  (2)返回值 自定义函数: 创建自定义函数 CREATE FUNCTION function_name RETURNS {STRING|INTEGER|REAL|DECIMAL} routine_body 关于函数体: 1.函数体可以由合法的SQL语句构成: 2.函数体可以是

Mysql学习笔记(三)对表数据的增删改查。

写在前面:(一些牢骚,可以直接跳到分割线后) 太过敏感的人不会快乐,不幸的是我正是这种性格的人. 从培训机构毕业后,迫于经济方面的压力,和当时的班里的一个同学住在了一起,我们在一个公司上班.谁知道这都是不开心生活的源头,从每天早晨开始心情就很糟糕.他是个脾气很慢的人,我是个急脾气,特别是在早上上班的时候.由此种种吧,实在是不胜枚举.算了,还是不说了,太痛苦了,我不太喜欢说别人的坏话.我是学心理学的,已经用各种方法去安慰自己,但是都不太奏效. 回想以往和朋友的交往中,我虽然不算十分合群的人,但绝对

mysql 学习笔记(一)

查询:show databases;show status;show tables; desc  table-name: 更改root密码:方法一:mysqladmin -uroot -poldpassword  password newpassword方法二:mysql -uroot -puse mysqlupdate user set password=password("newpasswd") where user="root";select host,use

MySQL学习笔记-数据类型与操作数据表

MySQL学习笔记-数据类型与操作数据表 数据类型:  1.字符型  2.整型  3.浮点型  4.日期时间型 数据表操作:  1.插入记录  2.查找记录 记录操作:  1.创建数据表  2.约束的使用 1.数据类型 [1]整型: 数据类型 存储范围 字节 TINYINT 有符号型:-128~127(-2^7~2^7 -1),无符号型0~255(0~2^8 -1) 1 SMALLINT 有符号型:-2^15~2^15 -1,无符号型0~2^16 -1 2 MEDIUMINT 有符号型:-2^2

mysql学习笔记 第五天

使用分区数据表: 分区数据表和merge数据表具有相似的作用,但是分区数据表确确实实是一个数据表 ,不像merge是列出数据表的逻辑关系,并且分区数据表可以包括像myisam以外的 的数据表.创建分区数据表: create table 里给出数据列和索引,然后用partition by 定义一个用来把数据行分配 到各个分区的分区函数:[将数据表分成四个区] create table log_partition( dt datetime not null, info varchar(100) no

mysql学习笔记 第四天

mysql引擎: archive(档案)[数据插入以后不能被修改,只读] blackhole[这种写操作是删除数据,读操作是返回空白记录] CSV[在储存数据时以逗号作为数据项之间的分隔符] example[示例(存根)储存引擎] Falcon[用来进行处理事务的储存类型] federated[用来访问远程数据表的储存引擎] InnoDB[具备外键支持功能的事务处理引擎] memory[内存里的数据表] merge[用来管理多个MyISAM数据表构成的数据表集合(merg-myisam)] my

mysql 学习笔记 第二天

插入表格数据: Insert into table_name set columns_1=value1,columns_2=value2,对于没有赋值的列,将会取默认值,并且这个方法只能一次插入一个数据 利用文本方式插入数据: Load data local infile‘径’into table table_name: Select 的通用形式: Select columns from table or tables where conditions;from一般不能少的,但是当查询的时候没有

MySQL学习笔记(一)

命令行中的取消操作 如果你决定不想执行正在输入过程中的一个命令,输入\c取消它: mysql> SELECT -> USER() -> \c mysql> 这里也要注意提示符,在你输入\c以后,它切换回到mysql>,提供反馈以表明mysql准备接受一个新命令. 使用SHOW语句找出服务器上当前存在什么数据库: mysql> SHOW DATABASES; +----------+ | Database | +----------+ | mysql | | test |