SQL Server (数据库中)的常见语法(要有中文解释)完全版
发布网友
发布时间:2022-04-30 23:42
我来回答
共3个回答
懂视网
时间:2022-05-01 04:04
CREATE DATABASE mytest;
-- 创建表
CREATE TABLE t_user(
-- primary key 定义该列为主键列
-- AUTO_INCREMENT表示该列的值,由DBMS自动生成,为自动增长列(auto_+tab键)。
id INT PRIMARY KEY AUTO_INCREMENT,
userName VARCHAR(20), -- 姓名
money FLOAT, -- 工资
birthday DATE -- 出生日期
)DEFAULT CHARSET=utf8;
--添加索引
CREATE INDEX index_name ON t_user (username);
--删除索引
ALTER TABLE t_user DROP INDEX index_name;
--添加记录
INSERT INTO t_user(username,money,birthday)VALUES(‘张三‘,3000,‘1992-09-03‘);
--添加多条记录
INSERT INTO t_user(username,money,birthday)VALUES(‘张三‘,3000,‘1992-09-03‘),(‘秦叔宝‘,6666,‘1984-06-02‘),(‘罗成‘,7777,‘1985-03-02‘);
--查询表中所有数据
SELECT*FROM t_user;
--查询所有用户的姓名和生日
SELECT username,birthday FROM t_user;
--删除id为8的记录
DELETE FROM t_user Where id=8;
--删除工资5000以下的记录
DELETE FROM t_user Where money<5000;
--将罗成的工资修改为7000
UPDATE t_user SET money=7000 WHERE username=‘罗成‘;
--所有的90后员工工资涨500
UPDATE t_user SET money=money+500 WHERE birthday>=‘1990-01-01‘;
--把id为2的人姓名改为李世民
UPDATE t_user SET username=‘李世民‘ WHERE id=2;
--删除所有的记录的两种方法(delete会记录目录日志,一位置删除后的数据还可以恢复,但效率低,truncate不会记录日志,删除后的数据不能恢复,但效率高)
DELETE FROM t_user;
TRUNCATE TABLE t_user;
--将id为2的记录,姓名修改为李宗瑞,工资改为4500
UPDATE FROM t_user SET username=‘李宗瑞‘,money=4500 WHERE id=2;
--查询工资在3000-6000之间的人
SELECT*FROM t_user WHERE money>=3000 AND money<=6000;
--显示80后的所有成员
SELECT*FROM t_user WHERE BETWEN ‘1980-01-01‘AND‘1990-01-01‘;
--显示第三条到第六条记录
SELECT*FROM t_user LIMIT 2,4;
--将id为3和id为6的员工工资加200
UPDATE t_user SET money=money+200 WHERE id=3 OR id=6;
UPDATE t_user SET money=money+200 WHERE IN(3,6);
--查询所有姓张的成员
SELECT*FROM t_user WHERE username LIKE ‘张%‘;
--查询所有名字中含有张的成员
SELECT*FROM t_user WHERE username LIKE ‘%张%‘;
--查询姓名只有两个字而且姓张的
SELECT*FROM t_user WHERE username LIKE‘张_‘;
--按工资排序显示所有成员
SELECT*FROM t_user ORDER BY money DESC; --默认是asc升序,desc降序
-- 显示所有的记录,查询的列要求显示中文
SELECT id 编号,username 姓名, money 工资,birthday 生日 FROM t_user;
--去除重复的记录
SELECT DISTINCT birthday FROM t_user;
--查询工资为空或不为空的员工
INSERT INTO t_user(username,birthday)VAlUES(‘乔峰‘,‘1998-09-09‘);
SELECT*FROM t_user WHERE money IS NULL;
SELECT*FROM t_user WHERE money IS NOT NULL;
数据库之SQL语法
标签:
热心网友
时间:2022-05-01 01:12
--select<字段,*> 纵切
--from<数据表>
--where<表达式>横切 注释:对from后的数据表数据的过滤
--group by<字段> 注释:select只能使用group by中出现的字段
--having<表达式>
--order by <字段>【Asc,Desc】
--count 计数
--sum 统计
--avg 平均值
--cast 数据类型转换cast<字段> as数据类型描述
--max 最大值
--min 最小值
--value 为空时(null) 给默认值
--syspublic.al 虚表 注释:在oracle数据库中直接使用al,不用带模式;在sqlserver中不需要虚表辅助
--别名 as可以省略
select sex,count(*)
from student
group by sex
select distinct sex
from student
select sum(age)
from student
select avg(age)
from student
select avg(cast(age as decimal(18,6)))
from student
select max(age)
from student
select min(age)
from student
select *
from student
where age=(select min(age) from student)
select value(sum(age),0) --value=nvl
from student
where name like '张%'
select age
from student
group by age
having age<30
select age
from student
where age<30
group by age
select * from student
select 'abc'||'def' from syspublic.al
select cast('12' as varchar(2)) from syspublic.al
select name as 姓名 from student --as 可以省略
select ID 学号 ,name 姓名, age 年龄 from student
select student.name ,result1.C_ID,result1.score ,result1.S_ID
from student full join result1
on student.id=result1.S_ID
where student.name is null or result1.score is null
--连接语法格式
select <表一字段><表二字段>
from<表一>【left,right,full,inner】join<表二>
on <表达式>
select student.name ,result1.C_ID,result1.score ,result1.S_ID
from student inner join result1
on student.id=result1.S_ID
where student.name is null or result1.score is null
select T1.*,T2.*
from student as T1, result1 as T2
where T1.ID=T2.S_ID
select T1.Id,T1.name
from student T1,result1 T2
where T1.id=T2.s_id
select t1.id,t1.name,(select t2.score from result1 t2 where t2.s_id=t1.id and t2.c_id='C001')
from student t1
where t1.id in(select T3.S_ID from result1 t3 where t3.c_id='C001')
--length 求一个字符串的长度
select length('abcdefg') from syspublic.al
--substr 求子串
select substr('abcdefg',1,4) from syspublic.al
--replace 替换
select replace('abcdeffg','ff',66) from syspublic.al
--year,month,date,day
select year('2011-04-12') from syspublic.al
select month('2011-04-12') from syspublic.al
select date('2011-04-12') from syspublic.al
select day('2011-04-12') from syspublic.al
--last_day某月的最后一天是几号
select last_day('2011-02-01')from syspublic.al
--add_months
select add_months('2011-04-11',1)from syspublic.al
--days取得从公元元年到现在的天数
select days('2011-4-13') from syspublic.al
select (days('2011-5-13') -days('2011-4-13'))*50 from syspublic.al
update <表>
set<字段>=<值>
where <表达式>
update result1
set score=100
where s_id='0001' and c_id='C001'
select *
from result1
where s_id='0001' and c_id='C001'
--delete from<表> where <表达式>
connect to test2 user db2admin using db2admin
grant select on P1 to testuser
grant all on P1 to testuser
select * from db2admin.P1
热心网友
时间:2022-05-01 02:30
查、增、改、删select 列名 from 表名insert into 表名(列名) values 数据update 表名 set 列名=数据 where 条件delete 表名