mysql增删改查学习笔记

1.insert语法:

insert into  表名(列1,……  列n)  values(值 1,……  值 n);

insert into   表名  values(值 1,……  值 n);

例如:

insert into teacher values ("04","三八")(添加表名为teacher的所有值)

insert into teacherr(tid ,tame) values ("04',"三八") (添加表名为teacher的tid,tname的列表的值)

2.update语法:

update 表名 set 

列名1=新值

列名2=新值

where expr(在哪些行生效)

例如:

update teacher set tname="三八" where tid="04"(更改表名为teacher的tname列的值为三八并在列表为tid值等于04的行生效)

3.delete语法:

delete from 表名

where expr(删除那些行)

例如:

delete from teacher where tid="04"(删除teacher表的列名为tid的所有行)

delete from teacher(删除teacher的所有数据)

4.select语法:

select 列名(列1,列2,,列3,列n)

from 表名

where expr

例如:

select * from teacher(查询teacher的所有数据)

select tname from teacher where tid="04"(在teacher表查询=tid等于4的tanme )

5.select查询模型:

列是变量

变量可以计算

where是表达式,值为真假(1为true,0为false)

6.特殊的NNLL类型:

NULL 不是假,也不是真,而是"空"

任何运算符,判断符碰到NULL,都得NULL

NULL的判断只能用is null,is not null

NULL 影响查询速度,一般避免使值为NULL

例如:

SELECT * FROM tnp WHERE name is not null

SELECT * FROM tnp WHERE name is null

7.where常用匹配符:

like 模糊匹配 % 通配任意字符 _ 通配单一字符

8.select 5种子句:

(1)Where 条件查询 :

where expression 用法:expression为真,则该行取出

where常用运算符:

(2)group by 分组 :

group by 作用:把行 按 字段 分组 语法:group by col1,col2,...colN 运用场合 常见于统计场合,如按栏目计算帖子数, 统计每个人的平均成绩等.

group与统计函数:

max : 求最大

min : 求最小

sum : 求总和

avg : 求平均

count:求总行数

(3)having 筛选 :

having与where异同点:

having与where类似,可筛选数据 where后的表达式怎么写,having就怎么写

where针对表中的列发挥作用,查询数据 having针对查询结果中的列发挥作用,筛选数据

(4)order by 排序 :

按一个或多个字段对查询结果进行排序

默认排序:升续排列

(5)limit 限制结果条数:

limit [offset,] N,限制结果取N条

用法: limit [偏移量,],取出条目

9.子查询:

子查询就是在原有的查询语句中, 嵌入新的查询,来得到我们想要的结果集。 一般根据子查询的嵌入位置分为, where型子查询,from型子查询

(1)where型子查询:

where型子查询即是:把内层sql语句查询的结果作为外层sql查询的条件.

典型语法: select * from tableName where colName = (select colName from tbName where ....) {where colName in (select colName from tbName where ..)}

典型案例: 1:查询最新的一条商品 2:查询出某大栏目下的所有商品

(2)exists型子查询:

exists即:外层sql查询所查到的行代入内层sql查询,要使内层查询能够成立 查询可以与in型子查询互换,但效率要高.

典型语法: select * from tablename where exists(select * from tableName where ...)

典型案例: 1:查询出某大栏目下的所有商品

(3)from型子查询:

from型子查询即:把内层sql语句查询的结果作为临时表供外层sql语句再次查询.

典型语法: select * from (select * from tableName where ...) where....

典型案例: 1:查询出每个栏目下的最新商品 2:BBS中查询每个栏目下的最新帖子

10.连接查询:

左连接的语法. Select Ltable.* ,Rtable.* from  Ltable left join Rltable  on Ltable.colName = Rtable.colName

内连接的语法. Select Ltable.* ,Rtable.* from Ltable inner join Rltable on Ltable.colName = Rtable.colName

左右连接与内连接的区别:

1:左右连接可互换 A left join B 等价于B right join A

2:内连接是左右连接的交集

3:mysql没有外连接

11、创建数据库

CREATE DATABASE [database-name]

12、删除数据库

DROP DATABASE dbname1,dbname2…

13、备份数据库

--- 创建 备份数据的 device

USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'

--- 开始 备份 BACKUP DATABASE pubs TO testBack

14、创建表

create table 表名 (

列1 列类型[ 列属性 默认值],

列2 列类型 [列属性 默认值],

.....

列n列类型 [ 列属性 默认值] );

engine = 存储引擎

charset = 字符集

例如: CREATE TABLE S(SNO CHAR(10) NOT NULL ,SN VARCHAR(20),AGE INT,SEX CHAR(2) DEFAULT '男' ,DEPT VARCHAR(20));

根据已有的表创建新表:

A:create table tab_new like tab_old (使用旧表创建新表)

B:create table tab_new as select col1,col2… from tab_old definition only

15、删除表

drop table tabname

16、增加字段

Alter table tabname ADD <列名><数据类型>[NULL|NOT NULL]

17、修改字段

ALTER TABLE<表名>ALTER COLUMN <列名><数据类型>[NULL|NOT NULL]

18、删除字段

ALTER TABLE<表名>DROP COLUMN <列名><数据类型>[NULL|NOT NULL]

19、添加主键

Alter table tabname add primary key(col)

20、删除主键

Alter table tabname drop primary key(col)

21、创建索引

create [unique] index idxname on tabname(col….)

22、删除索引

drop index idxname 注:索引是不可更改的,想更改必须删除重新建。

23、创建视图

create view viewname as [select statement ]

24、删除视图

drop view viewname

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只小鱼o

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值