数据库mysql基本语法总结

                                          MySql基础语法

sql 语句特点:

1.*对大小写不敏感,select等同于SELECT, 即使写成这样: SeLeCt * FrOm EMP;(亲测有效)也能执行.
           2.*文本值需要用单引号修饰 例如; name = 'abc';
           3.*数值一定不能用单引号修饰 例如 age = 18;

数据库基本操作就是我们常说的CRDU增删改查:

其中增删改,三项对应的语法没有那么灵活,基本是模板式的语法首先总结一下这三项:

:insert into 表名 (列名,列名。。) values (值,值。。)-- 指定表中对应的列,用于插入部分数据

       insert into 表名 values (值,值。。) -- 一次插入表中所有的数据。

:delete from 表名 where 条件 例如:删除Person表中的LastName 为 ‘Wilson’ 的行:DELETE FROM Person WHERE LastName = 'Wilson' ,删除操作在实际生产中一般用不到,往往是设置数据的状态字段值,这样在数据挖掘数据分析时才能提供数据支持,真正的删除操作是为了维护数据库服务器的性能,但是也是会提前做好数据备份的。

:update set 列名 = 值 。。例如:修改Persion表中的Wilson 姓为 Fred : UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson' ('删' = ‘改’)

最后总结一下查 :

:按照关键字来理解:

1. select :关键字是为了明确我们想要查找的列,select 列名 from 表名,在多表查询的时候我们一般简写表名,这样可以区分不同表名的列名。例如:select d.deptno,e.ename from dept d,employee e 。 在列的查找中如果使用关键字 distinct 修饰某列将会返回这一列的不重复的字段。(简单来说就是“去重”)

2. where :  关键字定义了对查找的列的条件限制,

主要是:

列名 + 运算符 + 值 的形式。运算符有  大于 >,小于 < ,等于 =,不等于(一直使用 != 但是官方的写法是<>) ,

特殊的有: 

between

在某个范围内,

like

可理解为’像‘ ,实现模糊匹配,常用的结构有,like 'N%' : 查询以N开头的字段,like '%N%' : 查询包含N的字段,like '%N' : 查询以N结尾的字段。之后才知道有not like的操作:查询能够匹配like的字段的相反字段集合。需要注意一些特殊的符号:% 可以理解为任意多个或者一个字符,_ 匹配任意一个字符 ,[abc] 把需要匹配的字符写在数组集合中。表示匹配在集合中的任意一个字符,如果取非[^abc]或者[!abc],表示不在字符集合中的任何一个字符。需要注意的是中文字符需要用%左右包起来。

and/or

连接符 用于where子句中的筛选条件 ,可结合使用,and 条件同真为true, or 条件同假为false。
SELECT * FROM Persons WHERE (FirstName='a' OR FirstName='b')AND LastName='c' :查询以a或者b为姓,以c为名的人员集合。

order by + 列名 (asc/desc)
对结果返回的列进行升或者降排序这俩个修饰符放在列名后。
默认是升序排列
desc 为降序排列
asc 为升序排列

3. 其他的一些关键字及作用:

top 最初的

规定要返回的记录中的数目,例如SELECT TOP number|percent column_name(s) FROM table_name
number 返回的数据行数
percent 返据按照百分比的行数

in 
配合 where 使用  in(values,values)
查找列名在该集合中的字段信息

between value1 and value2
查找值介于value1和value2之间的字段信息。这些值可以是数值,文本,或者日期
结果集是‘前闭后开’的集合。

alias 别名
在多表查询的时候为了区分字段名称需要引入一个这个别名。通常是为表起一个别名,比如person表以p作为别名标准的写法是person as p,dept as d,我个人常常是person p,dept d。别名的好处是可以简化我们的sql语句。

function 内建函数
内建函数作用的对象是数据表的列,基本有俩大类:

1.aggregate函数 合计函数 输入一系列的值,返回一个单一的值
avg均值,count返回不包括列为null的值
first指定域的第一个值
last指定域的最后一个值
max指定域的最大值
min指定域的最小值
sum求和

2.scalar函数 操作某个单一的值,返回关于该值的一个单一的输出值
ucase 某个域改为大写
lcase 某个域改为小写
len 文本长度
now 返回当前时间
round 对小数数值四舍五入


group by 列名1,列名2
结合合计函数,根据一个或者是多个列对结果集合分组效果和distinct去重功能类似,返回的结果集合总是给人一种惊人的效果。

having 
由于where 关键字无法和合计函数一起使用,所以使用having 在where 关键字中引入合计函数。

limit m,n  取结果集的从第n条开始的m条记录

注意:m的开始位置为0。例如:select salary from employee limit 2,2; 表示从第三条开始,也就是结果行的索引为0,1,2中的2记录开始到3的三条记录,即 返回结果为索引为2和3的数据。

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值