sql语句

sql语句(sqlserver——数据库—右键—新建查询)

  • sql语言作为一种大小写不敏感的语言,对大小写的并没有严格的区分,即:“Hello”和“hello”在sql语言的眼里是一样的,即使你写的是大写字母,它也会当做对应的小写字母来处理,并不会报错。而且细心的同学会发现,如果存储时存入的为大写字母(列名、表名等,不包括表中的字符型数据),再查询时查到的都是小写字母了。
  • 表中的数据会正常存储(下面代码中'值'的部分),原理是:存储数据时会将数据根据数据类型变成二进制数存储,读取时同理,而字母大小写对应的数是不同的。
  • 表名、列名允许设为中文,但不建议!
  • 本文中注释部分表示非必须部分(不写也能正常运行)

一、表中数据的增删改查

1.增

(1)格式1

insert into 表名/*(列名,列名,……)*/ values('值','值',……)
  • 表示将批量的值插入对应的列中。
  • 若不刻意写(列名,列名,……)则默认表示表中所有列

(2)格式2

insert into 表名 set 列名='值',列名='值',……
  • 表示将对应的值填入对应的列中,作用同上
  • 优势在于表述更清晰,更容易阅读

(3)格式3

insert into 表名1 select * from 表名2 
  • 表示获取表2的数据,插入到表1中。要求两表对应列的数据类型一致

2.删

delete from 表名/* where ……*/

若语句为“delete from 表名”,则表示清空表中内容


※where语法

  • 多条件查询

select 列名,列名,…… from 表名 where 列名='值'/* and/or 列名='值'*/
  •  模糊查找
select 列名,列名,…… from 表名 where 列名 like '_csdn%'

        “_”代表一个字符,“%”代表0到n个字符


3.改

update 表名 set 列名='值',列名='值',……/* where ……*/

4.查

select 列名 from 表名/* where ……*/

(1)求和

select sum(列名) /*as 临时列名 */from 表名/* where ……*/
  • 表示求得某一列的值的和,显示为“临时列名”的值
临时列名
1查询到的值
  •  若不设置临时列名,则默认显示为“(无列名)”
(无列名)
1查询到的值

(2)平均值

select avg(列名) /*as 临时列名 */from 表名/* where ……*/

(3)最大

select max(列名) /*as 临时列名 */from 表名/* where ……*/

(4)最小

select min(列名) /*as 临时列名 */from 表名/* where ……*/

(5)计数

select 性别,count(性别) as 人数 from 表名 group by 性别

会得到:

性别人数
112
221

列名“性别”是根据“select 性别”得到的;

列名“人数”是根据“as 人数”得到的。


(6)排序

select * from 表名 order by 列名 asc/desc
  • 表示按句中列名的值排序
  • asc表示升序(从小到大),desc表示降序(从大到小)
  • 若不写asc/desc,默认为升序asc

(7)部分显示 offset(偏移)、fetch(取得)

select * from 表名 order by 列名
offset 5 rows
fetch next 3 pows only
  • 表示将查询出的数据隐藏前5行(前五行不输出),打印接下来的3行

二、表的增删改查

关于表的新建、删除,个人感觉在sqlserver中直接操作会更简单(如果表的数量不多,容易找的话)

最后是一个用旧表构建新表的语句,感觉只有这个比较实用

create table 新表名 like 旧表名

看别人都是这样子写,但我还没执行成功过……脑壳疼

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值