数据库查询语句

简介: 数据库查询语句

SQL:Structured Query Language 结构化查询语言


建立数据库:create datebase 数据库名

使用数据库:use 数据库名

删除数据库:drop database 数据库名


建立表:(举例)

create table student(
学号 char(3) not null,
姓名 nchar(3) not null,
性别 nchar(1) not null,
年龄 int not null,
系号 nchar(5) null
);


删除表:drop table 表名


查看表属性:exec sp_help 表名


复制表:select * into 新表名 from 表名


插入数据:

insert into stu_info(学号,姓名,性别,年龄,系号)
values(001,‘李林’,‘男’,18,‘D01’


查看表数据:select * from 表名 where 条件


修改表的数据:update 表名 set 列名=新数据 where 条件


删除表数据:delete from 表名 where 条件


增加列:alter table 表名 add column 列名 数据类型 NULL


删除列:alter table 表名 drop column 列名


修改列的数据类型:alter table 表名 alter column 列名 新数据类型


三个表连起来:

select a.列名,b.列名,c.列名 from 表名 a inner join 表名 b on a.列名=b.列名

inner join 表名 c on b.列名=c.列名

where 条件


between的用法:

select * from 表名 where 性别=‘女’ and 年龄 between 15 and 17

查询没有选修“办公软件”课程的学生的学号,姓名(三个表)

select a.学号,姓名 from stu_info a inner join grade b on a.学号=b.学号
inner join curriculum c on b.课程编号=c.课程编号
where 课程名称 not in(select 课程名称 from curriculum where 课程名称=‘办公软件’)


查看成绩前三:

select top 3 成绩 from 表名 where 条件 order by 成绩 desc

创建视图:

create view 视图名
as
select * from 表名 where 条件


查看人数、平均分:

create view 视图名
as
select 课程编号 ,count(学号) as 选修人数, avg(成绩) as 平均分
from 表名 group by 课程编号


查询存储过程:exec 存储过程名称 ‘条件’,‘条件’(数字不用’ ')


删除存储过程:drop proc 存储过程名


用户


  1. 创建用户:
create login 用户名 with password='密码’
  1. 更改登录用户:
alter login 用户名 with name=新用户名,password='新密码’
  1. 删除登录用户:
drop login 用户名


4. 用户授权:


  1. 问题:点开新用户的数据库,不能使用!没授权!
  2. 回到Windows管理员窗口,用命令打开数据库:
use 数据库名
  1. 用命令为登录用户TOM建立数据库banking的用户,也叫TOM(例子)
create user TOM for login TOM


–有了数据库用户后,对象资源管理器里Tom的banking能打开了,banking数据库里的安全性-用户-看见用户TOM,但是没有权限看表


  1. 把用户TOM加到系统管理角色sysadmin成员里(给权限):
exec sp_addsrvrolemember ‘用户名’,'sysadim’

— 用户有了系统管理权限后,刷新用户的数据库,发现有权限看表了!测试查询语句、插入语句、更新语句,能成功运行!


  1. 程查看系统管理角色sysadmin成员


exec sp_helpsrvrolemember 'sysadmin


– 用户被包含在sysadmin成员里


  1. 删除用户
exec sp_dropsrvrolemember ‘用户名’,'sysadmin’


  1. 把用户加到ddl管理角色ddladmin成员里
exec sp_addrolemember ‘db_ddladmin’, '用户名’


—可以操作ddl语句


  1. 查看DDL管理角色ddladmin成员
exec sp_helprolemember 'db_ddladmin


用户是的db_ddladmin 成员,仍然不具有增删查改功能,因为DDL语句只包含CREATE\ALTER\DROP等,不包括INSERT\UPDATE\DELETE等


  1. 把用户加到所有者管理角色db_owner成员里(给权限)
exec sp_addrolemember ‘db_owner’, '用户名’


—增删查改功能又恢复了



  1. 查询所有者角色db_owner成员
exec sp_helprolemember 'db_owner '


  1. 把用户从系统管理角色db_owner成员里删除
exec sp_droprolemember ‘db_owner’, ‘用户名’


— 删除了数据库主人这个角色


  1. 授建立表的权限给用户


grant create table to 用户名


  1. 在用户窗口建立测试表1,成功
create table 测试表1()


  1. 拒绝授建立表的权限给用户
deny create table to 用户名


  1. 在用户窗口建立测试表2,失败
create table 测试表2()





相关文章
|
1月前
|
SQL 数据库
LangChain-09 Query SQL DB With RUN GPT 查询数据库 并 执行SQL 返回结果
LangChain-09 Query SQL DB With RUN GPT 查询数据库 并 执行SQL 返回结果
33 2
|
18天前
|
SQL 安全 Java
MyBatis-Plus条件构造器:构建安全、高效的数据库查询
MyBatis-Plus 提供了一套强大的条件构造器(Wrapper),用于构建复杂的数据库查询条件。Wrapper 类允许开发者以链式调用的方式构造查询条件,无需编写繁琐的 SQL 语句,从而提高开发效率并减少 SQL 注入的风险。
13 1
MyBatis-Plus条件构造器:构建安全、高效的数据库查询
|
14天前
|
存储 缓存 固态存储
怎么让数据库查询更快
【10月更文挑战第28天】
24 2
|
16天前
|
存储 缓存 关系型数据库
怎么让数据库查询更快
【10月更文挑战第25天】通过以上综合的方法,可以有效地提高数据库查询的速度,提升应用程序的性能和响应速度。但在优化过程中,需要根据具体的数据库系统、应用场景和数据特点进行合理的调整和测试,以找到最适合的优化方案。
|
15天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
82 1
|
17天前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
191 2
|
17天前
|
SQL 关系型数据库 数据库
PostgreSQL性能飙升的秘密:这几个调优技巧让你的数据库查询速度翻倍!
【10月更文挑战第25天】本文介绍了几种有效提升 PostgreSQL 数据库查询效率的方法,包括索引优化、查询优化、配置优化和硬件优化。通过合理设计索引、编写高效 SQL 查询、调整配置参数和选择合适硬件,可以显著提高数据库性能。
108 1
|
1月前
|
SQL Java 数据库连接
如何使用`DriverManager.getConnection()`连接数据库,并利用`PreparedStatement`执行参数化查询,有效防止SQL注入。
【10月更文挑战第6天】在代码与逻辑交织的世界中,我从一名数据库新手出发,通过不断探索与实践,最终成为熟练掌握JDBC的开发者。这段旅程充满挑战与惊喜,从建立数据库连接到执行SQL语句,再到理解事务管理和批处理等高级功能,每一步都让我对JDBC有了更深的认识。示例代码展示了如何使用`DriverManager.getConnection()`连接数据库,并利用`PreparedStatement`执行参数化查询,有效防止SQL注入。
84 5
|
1月前
|
SQL 存储 安全
SQL查询数据库:基础概念与操作指南
在数字化时代,数据库已成为信息管理的重要工具之一。作为管理和操作数据库的核心语言,SQL(结构化查询语言)已成为数据管理和查询的关键技能。本文将全面介绍SQL查询数据库的基本概念、语句和操作指南,以帮助初学者快速上手,同时为进阶用户提供有价值的参考。一、数据库与SQL简介数据库是一种存储、管理和检索
40 3
|
16天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第26天】数据库作为现代应用系统的核心组件,其性能优化至关重要。本文主要探讨MySQL的索引策略与查询性能调优。通过合理创建索引(如B-Tree、复合索引)和优化查询语句(如使用EXPLAIN、优化分页查询),可以显著提升数据库的响应速度和稳定性。实践中还需定期审查慢查询日志,持续优化性能。
47 0