mysql 3360_MYSQL基础

注: SQL语句不区分大小写, 但为了使代码易于阅读和调试往往关键字使用大写,并分写在多行的开头,本文为图方便未严格按要求书写,但不影响使用

1.如果出现输入密码不正确的情况 则

0cab7a0ff999da17b497785f31be0fcd.png

再将SQL服务关闭后打开

2.建立一个表的完整过程:

40b3271319758a8586a2c90021d93710.png

其中-h表示服务器名,localhost表示本地;-u为数据库用户名, root是mysql默认用户名;-p为密码,如果设置了密码 克在-p后键入 如:-p123456

f5b685454c0759aa44599b0cf0c5173c.png

创建和增:

13e6f8f0dadfb7464f5499522ceab0a8.png

改:

134143fdd1d0cd7c93feba2e7a4b95a1.png

查:

简单查询:

be9e9272f2d2f821567efb493ac3add2.png

嵌套查询:

ef6957626858878437b25e7744854cf6.png

删:

19ec208c8a593e17d4c4ffe0365c393a.png

3.mysql的端口号为3360

4.1>内连接:根据连接条件,连接两表 ,

例如等值连接:根据等值运算符比较被连接的列值,得到被连接表的所有列,删除匹配不成功的行

eg:   select   a.*,b.*   from   a   inner   join   b     on   a.id=b.parent_id   ;

2>外连接包括:左连接,右连接

左连接:以左表为基准,以连接条件进行数据连接,如果右表中在左表没有对应项,则设为NULL;

右连接: 以右表为基准,以连接条件进行数据连接,如果左表中右表没有对应项,则设为NULL;

select   a.*,b.*   from   a   left   join   b     on   a.id=b.parent_id ;

select   a.*,b.*   from   a   right   join   b     on   a.id=b.parent_id  ;

测试用数据库

da75195574e3bf84b5bfc6e29f089a90.png

5. 指定第几行的起的几行数据

09d7e483bc51538c4afe898bdf27767d.png

注: 有第0行

6. 注释

d53eb3703c5e74b36fd12b8e65d36691.png

7. 按多列排序 order by sth1, sth2;

9f5602b274e576e9420989d7800d7e21.png

或者直接用列的相对位置来表示

注: 如果进行排序的列不在SELECT清单中 则不能使用这种方法

af77cdf6b7a4bcaeabdcc97996f3b19e.png

8. 排序方向

order by 默认是升序排列 如果是降序则 order by sth desc;

7d242070eab6c436b7f5b00cec1d19b1.png

9. where 用法

b70de86aef065e307df516a0b51927c6.png

where子句操作符: <> != 不等于, !> 不大于, between 在两值之间...

order by 必须放在where之后使用

条件定位 where  and/or

f1742b2c92d505191a581f33134758e1.png

注:在and/or 混合使用时and在求值过程中优先级最高,为此, 注意()的使用

in/not 使用

7a507a639df8ee2b8b7cfe518dd511ff.png

注: in操作符的语法更清晰直观

452c7f0ae9724df51b7ecfcd9bf8b127.png

10. 通配符 "%" ,"_","[]"

d8723ac67a022084c2b2795885f87b74.png

%和_ 用途类似, _ 只代表一个字符

11. count用法

26b1b05a9c43cdd28be528838b333f39.png

12. group  by 分组数据 他后面不能使用where, 往往与having连用

where 在数据分组前进行过滤, having在数据分组后进行过滤

13.聚类函数:AVG()平均值,COUNT()行数,MAX()最大值,MIN()最小值,SUM()某列之和

14.order by 对产生的输出排序, group by 对行进行分组

15.子查询(嵌套查询):包含子查询的select语句难以阅读和调试, 因此注意分解为多行和适当的缩进

9b6cadb02357ac7578d640cb56956126.png

16. 关系数据库: 以供应商与产品关系为例, 其好处有: (1) 供应商信息不重复, 不浪费时间空间 (2)如果供应商数据有变 只需更新供应商表中单个记录

(3) 由于各表数据具有一致性, 处理数据和生成报表更简单

数据联结:用一条select语句检索出数据

e1c6ee1fcd37a5a176df3562b22c09c6.png

内联结语法(相等联结):

3d70e2a3aa2701a1d05cf02e91bc6f44.png

17. 自联结:在查询中为一个表取不同的别名, 使用联结比子查询快得多

18.外联结: 左联结:以左边表为基准, 如果右边表没有的行 设为NULL, 右联结类似

1b034e233092fed4dc8f13071fbca980.png

mysql 不支持full outer join  全外联结包含两个表的所有不关联行

19. 使用带聚集函数的联结

cd9c286267bf37df28512ee397610775.png

20. UNION:组合查询

使用情况: (1) 在一个查询中从不同的表返回结构数据(各表的列相同)

(2)对一个表执行多个查询,按一个查询返回数据(可以用OR语句代替)

使用条件:(1)UNION必须由两条或两条以上select语句组成

(2)UNION中必须包含相同的列、表达式或聚集函数(列出现的次序可不同)

(3)列数据类型必须兼容

注:UNION 默认去重,如果不想去重, 则使用UNION ALL

在组合查询中,order by 语句必须置于最后一个select 之后,只能有一个

21.插入数据

插入方式: (1)插入完整行

28314e5180a06c683b50a241a005b3f2.png

注:1>into 可省略, 但为了可移植性,最好写上

2> boss后面的列名可以省略,但为了安全性, 最好加上 同时列名可与表中的实际次序不同

(2)插入行的部分

(3) 插入某些查询的结果

a07c70d7a49c3124691585ff15b420cb.png

从一个表复制到另一个表

d2ec5d281672ed1562393251c37f0ef2.png

22. 更新数据 update(需高权限)

update组成部分: 要更新的表

列名和他们的新值

确定要更新哪些行的过滤条件

fae9e7fba0c280bfaaff87736e687939.png

23. 删除

439aefb022e31597711a61dd55130b2e.png

delete 删除整行, 若要删除列 则使用update

如果要删除所有行 则用truncate table 速度更快

如果省略where子句,则update 或delete将被应用到表中所有行

24. 创建表

587399edbb9618104086454877732925.png

null : 允许在插入时不给出该列的值

not null : 阻止在插入时不给出该列的值,若没有值 则插入失败

default 1; 将默认值设为1,  default current_date()默认日期

25. 更新表:

增加列项

984459e5013997ac6d98be81975e5082.png

删除列

be6e55652816bcc3cf8ac84a210ad0ff.png

删除表

b4dd872f701abf80e1a99c68cc132058.png

26. 使用视图

7cf2452e9536ef989ecc68d35a55b2ce.png

27. 索引 : 用来排序数据以加快搜索金额排序操作的速度.

62c0b3e94fa3a31f0da55e7339360763.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值