实用sql语句拾零

SQl Server数据库

1新建表:

create table users(

userid int primary key identity(1,1),--用户编号(主键、自增长)
idcard varchar(20) not null,--身份证号
uname varchar(30) not null,--姓名
sex varchar(10) not null,
age int not null,
tel varchar(20) null,--电话
address varchar(30) not null,--地址
partymemberid int foreign key references 表名(该表主键)--设置外键

)

2.插入:

insert into users values(,'','',);

3.查询:

select * from 表名;

select * from 表名 where usreid=X;

select count(*) from 表名;  --查询该表数据总数

select count(*) from 表名  where usreid=X;  --按条件查询该表数据总数

select count(*) from 表名 whereuname like '%"+X+"%'";  --按条件模糊查询该表数据总数

select top 5 * from 表名 usersid not in (select top 5usersid from 表名 order byusersid asc)order by usersid asc --分页显示所有

select top 5 * from partymember where unit='湖文' and partymemberid not in (select top 5 partymemberid from partymember where  unit='湖文' order by partymemberid asc)order by partymemberid asc   --按条件查询后分页显示

select top 16 users.uname,partymember.* from partymember inner join users on users.idcard=partymember.idcard where unit like '%学%' and partymemberid not in (select top 0 partymemberid from partymember inner join users on users.idcard=partymember.idcard where unit like '%学%' order by partymemberid asc)order by partymemberid asc--按条件模糊查询后分页显示

4.更新数据:

update 表名 set uname='dzl' where userid=X

5.删除数据:

delete from 表名 where userid=X

6.清空表:

truncate table 表名

7.删除表:

drop table 表名


设置数据库为多用户:

 ALTER DATABASE [数据库名] SET MULTI_USER



MySql数据库


创建表(auto_increment 表示自增长,enum枚举类型以下拉框的形式展现):

CREATE TABLE test(
id int auto_increment PRIMARY KEY,
name VARCHAR(20) NOT NULL,
sex VARCHAR(2) NOT NULL,

types ENUM('jpg','png','gif')

)


分页查询:

select * from 表名 where userid limit "+ (PageNo - 1)* 16+ ",16;(16代表一页显示16条数据)

按条件模糊查询后分页显示:

select * from 表名 where uname LIKE '%" + input+ "%' and userid limit "+ (PageNo - 1)* 16+ ",16;



Oracle数据库

常用命令

desc 表名 --用于显示表结构

ed --打开编辑窗口,编辑完后输入"/"再回车

commit   提交

rollback   回滚 

order by   --排序–ASC(ascend):升序

DESC(descend): 降序

•ROUND: 四舍五入

ROUND(45.926, 2)  45.93


•TRUNC:  截断

TRUNC(45.926, 2)  45.92


•MOD: 求余

MOD(1600, 300)                     100


select to_char(sysdate,'yyyy-MM-dd  HH:mm:ss')from dual;


设置id自增长:

例:(1)创建一个测试表test

create table test
(id int primary key,
name varchar2(10)
);
(2)创建一个序列
create sequence test_seq increment by 1 start with 
minvalue 1 maxvalue 9999999999999 nocache 
order;
(3)触发器实现
create or replace trigger test_trigger
before insert on test
for each 
row
begin
     select  test_seq.Nextval into:new.id from dual;
end;
(4)测试
insert into test (namevalues ('子龙');

分页查询(查询第21到第40条数据):

SELECT *

  FROM (SELECT a.*, ROWNUM rn

          FROM (SELECT *

                  FROM 表名) a

         WHERE ROWNUM <= 40)

 WHERE rn >= 21

分页显示(一页显示16条数据):

SELECT *FROM (SELECT a.*, ROWNUM rn FROM (SELECT * FROM users) a WHERE ROWNUM <= "+ PageNo* 16+ ") WHERE rn >"+ (PageNo - 1)* 16+";

按条件模糊查询后分页显示:

SELECT *FROM (SELECT a.*, ROWNUM rn FROM (SELECT * FROM users) a WHERE ROWNUM <= "+ PageNo* 16+ ") WHERE idcardLIKE '%" + input+ "%'and  rn > "+ (PageNo - 1)* 16+";

查询前10条数据(按id排序):

select * from (select * from users order by userid )where rownum <=10


设置主外键:

create table 表名(
    partymemberid int primary key,
    adress varchar(30) not null,
    unit varchar(30) not null,
    worktime varchar(20) null,
    jointime varchar(20) not null,
    note varchar(50) null,
    idcard varchar(18),
    foreign KEY(idcard) REFERENCES 主表(主表中的主键)
   );


ON DELETE CASCADE(级联删除):当父表中的列被删除时,子表中相对应的列也被删除
ON DELETE SET NULL(级联置空):子表中相应的列置空

1.新建表:

create table 表名(

id number(10),

name varchar(20)

);


2.查询语句(select),注意每条语句都要以;结尾

select * from 表名; 查询表中所有数据

select 列名,列名 from 表名; 查询指定列的数据

select 列名  as "别名",列名 别名, 列名 "别名"from 表名 ; 查询指定列的数据并为列指定别名

select distinct 列名 from 表名;· 过滤掉重复行

例:     选择在1994年雇用的员工的姓名和雇用时间

a)  select last_name,hire_date

b)  from employees

c)    where to_char(hire_date,'yyyy')='1994'

例:    选择雇用时间在1998-02-01到1998-05-01之间的员工姓名,job_id和雇用时间

a)  select last_name,job_id,hire_date

b)  from employees

c)  --where hire_date between '1-2月-1998' and '1-5月-1998'

d)      where to_char(hire_date,'yyyy-mm-dd')between'1998-02-01'and'1998-05-01'


多表连接查询(有相同的列):连接 n个表,至少需要n-1个连接条件

等值连接:

SELECT  table1.column, table2.column

FROM  table1, table2

WHERE  table1.column1=table2.column2;

或(使用别名)

SELECT e.employee_id,e.last_name,e.department_id,

      d.department_id,d.location_id

FROM  employees e , departments d

WHERE e.department_id =d.department_id;


非等值连接:

SELECT e.last_name,e.salary,j.grade_level

FROM  employees e, job_gradesj

WHERE e.salary

      BETWEEN j.lowest_sal ANDj.highest_sal;

•内连接: 合并具有同一列的两个以上的表的行, 结果集中不包含一个表与另一个表不匹配的行
•外连接: 两个表在连接过程中除了返回满足连接条件的行以外还返回左(或右)表中不满足条件的行,这种连接称为左(或右)外连接。没有匹配的行时, 结果表中相应的列为空(NULL). 外连接的 WHERE子句条件类似于内部连接, 但连接条件中没有匹配行的表的列后面要加外连接运算符,即用圆括号括起来的加(+)
•满 外连接:两个表在连接过程中除了返回满足连接条件的行以外还返回两个表中不满足条件的行 ,这种连接称为满 外连接。


右外连接:

SELECT e.last_name,e.department_id,d.department_name

FROM  employees e, departments d

WHERE e.department_id(+) =d.department_id ;

左外连接:

SELECT e.last_namee.department_idd.department_name

FROM  employees e, departments d

WHERE e.department_id = d.department_id(+);


满外连接:

SELECT e.last_name,e.department_id,d.department_name

FROM   employees e

FULL OUTER JOIN departments d

ON   (e.department_id= d.department_id);



使用 ON 子句创建多表连接:

SELECT employee_id, city,department_name

FROM  employees e

JOIN  departments d

ON    d.department_id =e.department_id

JOIN  locations l

ON    d.location_id =l.location_id;

可以使用GROUP BY子句将表中的数据分成若干组:

SELECT   department_id, AVG(salary)

FROM     employees

GROUP BY department_id ;

过滤分组:HAVING子句:

SELECT   department_id, MAX(salary)

FROM     employees

GROUP BY department_id

HAVING   MAX(salary)>10000 ;


修改表:

alter table test drop column sex;   删除一列

alter table test rename column 原列名 to 新列名; 重命名一个列

alter table test modify name varchar(10); 可修改列的数据类型、尺寸和默认值






内容概要:本文介绍了多种开发者工具及其对开发效率的提升作用。首先,介绍了两款集成开发环境(IDE):IntelliJ IDEA 以其智能代码补全、强大的调试工具和项目管理功能适用于Java开发者;VS Code 则凭借轻量级和多种编程语言的插件支持成为前端开发者的常用工具。其次,提到了基于 GPT-4 的智能代码生成工具 Cursor,它通过对话式编程显著提高了开发效率。接着,阐述了版本控制系统 Git 的重要性,包括记录代码修改、分支管理和协作功能。然后,介绍了 Postman 作为 API 全生命周期管理工具,可创建、测试和文档化 API,缩短前后端联调时间。再者,提到 SonarQube 这款代码质量管理工具,能自动扫描代码并检测潜在的质量问题。还介绍了 Docker 容器化工具,通过定义应用的运行环境和依赖,确保环境一致性。最后,提及了线上诊断工具 Arthas 和性能调优工具 JProfiler,分别用于生产环境排障和性能优化。 适合人群:所有希望提高开发效率的程序员,尤其是有一定开发经验的软件工程师和技术团队。 使用场景及目标:①选择合适的 IDE 提升编码速度和代码质量;②利用 AI 编程助手加快开发进程;③通过 Git 实现高效的版本控制和团队协作;④使用 Postman 管理 API 的全生命周期;⑤借助 SonarQube 提高代码质量;⑥采用 Docker 实现环境一致性;⑦运用 Arthas 和 JProfiler 进行线上诊断和性能调优。 阅读建议:根据个人或团队的需求选择适合的工具,深入理解每种工具的功能特点,并在实际开发中不断实践和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值