数据库查询语句

简介: 数据库查询语句

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()





相关文章
|
16天前
|
SQL 数据库
LangChain-09 Query SQL DB With RUN GPT 查询数据库 并 执行SQL 返回结果
LangChain-09 Query SQL DB With RUN GPT 查询数据库 并 执行SQL 返回结果
29 2
|
11天前
|
SQL Java 数据库连接
如何使用`DriverManager.getConnection()`连接数据库,并利用`PreparedStatement`执行参数化查询,有效防止SQL注入。
【10月更文挑战第6天】在代码与逻辑交织的世界中,我从一名数据库新手出发,通过不断探索与实践,最终成为熟练掌握JDBC的开发者。这段旅程充满挑战与惊喜,从建立数据库连接到执行SQL语句,再到理解事务管理和批处理等高级功能,每一步都让我对JDBC有了更深的认识。示例代码展示了如何使用`DriverManager.getConnection()`连接数据库,并利用`PreparedStatement`执行参数化查询,有效防止SQL注入。
47 5
|
14天前
|
SQL 存储 安全
SQL查询数据库:基础概念与操作指南
在数字化时代,数据库已成为信息管理的重要工具之一。作为管理和操作数据库的核心语言,SQL(结构化查询语言)已成为数据管理和查询的关键技能。本文将全面介绍SQL查询数据库的基本概念、语句和操作指南,以帮助初学者快速上手,同时为进阶用户提供有价值的参考。一、数据库与SQL简介数据库是一种存储、管理和检索
27 3
|
15天前
|
SQL 存储 缓存
SQL数据库查询详解
数据库是现代信息社会的基石,它们存储和管理着大量的数据。而SQL(StructuredQueryLanguage)作为一种强大的数据库查询语言,广泛应用于各种数据库系统中。本文将详细介绍SQL数据库查询的基本概念、语法、常用操作以及优化策略。一、SQL数据库查询概述SQL是一种用于管理关系数据库的标
67 3
|
16天前
|
存储 SQL 关系型数据库
MySQL查询数据库锁表的SQL语句
MySQL查询数据库锁表的SQL语句
50 1
|
1月前
|
SQL 关系型数据库 MySQL
学成在线笔记+踩坑(3)——【内容模块】课程分类查询、课程增改删、课程计划增删改查,统一异常处理+JSR303校验
课程分类查询、课程新增、统一异常处理、统一封装结果类、JSR303校验、修改课程、查询课程计划、新增/修改课程计划
学成在线笔记+踩坑(3)——【内容模块】课程分类查询、课程增改删、课程计划增删改查,统一异常处理+JSR303校验
|
1月前
|
前端开发 应用服务中间件 API
|
29天前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
99 5
|
10天前
|
SQL Go 数据库
【速存】深入理解Django ORM:编写高效的数据库查询
【速存】深入理解Django ORM:编写高效的数据库查询
29 0
|
13天前
|
存储 SQL 数据库
深入理解数据库索引:提升查询性能的关键
数据库索引是优化查询性能的重要工具。本文将带你深入探索索引的内部结构和工作原理,揭示如何通过合理使用索引来加速数据库查询,同时避免常见的索引陷阱。