金沙国际官网_金沙国际平台登录

因为这个金沙国际官网_金沙国际平台登录网站与很多的大型澳门赌场都有合作,金沙国际官网_金沙国际平台登录尽职尽责,高效执行,保持好奇心,不断学习,追求卓越,点击进入金沙国际官网_金沙国际平台登录马上体验吧,所以现在也正式地开始了营业。

您的位置:金沙国际官网 > 数据库 > select基础查询,关于SSMS显示select出来的数据行的

select基础查询,关于SSMS显示select出来的数据行的

发布时间:2019-11-19 16:54编辑:数据库浏览(140)

    1、下载安装

     

    基本语法:select 查询列表 from 表名
    查询列表可以是表中字段、常量值、表达式、函数;查询的结果是一个虚拟的表格。
    注意:
    ①sql语言大小写不敏感
    ②关键字不能分行或略写
    ③一般书写方式为换行缩进
    一、基础查询
    1.经典查询(查询表中的字段)
    ①查询单个字段
    select 字段1 from 表1;
    ②查询多个字段
    select 字段1,字段2, . . .字段n from表1;
    ③查询所有字段(用“”表示所有字段或者用枚举所有的字段)
    Select
    from 表1;
    Select 字段1,字段2,字段3,...,字段last from 表1;
    2.查询常量值
    select 520;
    select ‘chenzui’;
    3.查询表达式
    select 100/20;
    4.查询函数
    select version();
    5.起别名
    ①方式1用as
    Select 100/20 as “结果”;
    ②方式2 用” ”空格
    Select 100/20 结果;
    6.去重distinct
    SELECT DISTINCT department_id FROM employees;
    7.mysql中+的功能(运算符)
    ①两个都是数值型,做加法运算。Select 200+100;返回300。
    ②一个是字符型一个是数值型,将字符型转换为数值型,若能转换成功,则继续运算,转换失败,将字符型转换为0,继续运算。
    Select “120”+120;返回240;select “120aaa”+120;返回240;select “aaa120”+120;返回120。
    ③一方是null,结果返回null。select null+100;返回null。
    二、条件查询
    语法:select 查询列表 from 表名 where 筛序条件;
    1.按条件表达式筛选
    简单条件运算符:>、<、=、 !=、<>、>=、<=
    案例1 查询工资大于1000的员工信息
    Select * from employees where salary>1000;
    案例2 查询部门编号等于80,的员工名字和部门id
    Select last_name,department_id from employees where department_id = 80;
    2.逻辑表达式筛选
    逻辑运算符
    作用:用于连接条件表达式 && || ! and or not
    and 或 && 两个条件都为true,结果为true,否者返回false
    or 或 || 只有一个条件为true,结果为true,否者为false
    not 或 ! 连接条件本身为true,结果为false,否者为true
    案例 查询工资在10000-15000的员工名字和工资
    Select last_name , salary from employees where salary>10000 and salary<15000;
    3.模糊查询
    like、between and 、in、is null
    ①like 一般和通配符搭配使用
    通配符:‘%’任意多个,包括0个,’_’任意单个。
    案例1 查询名字中包含”c”的员工信息
    select * from employees where last_name like “%c%”;
    案例2 查询名字以a开头第4个字母为z的员工信息
    select * from employees where last_name like “a__z%”;
    案例3 查询第二个字符为””的员工名字
    select last_name from employees where laset_name like “
    $_%”;
    ②between and 可以使sql语句更简洁,包含临界值,两个临界值不能调换顺序
    案例1 查询员工编号在150-200之间的员工信息
    select * from employees where employee_id between 150 and 120;
    select * from employees where employee_id >=150 and employee_id <=120;
    ③in 判断某段的值是否属于in列表中的某一项,提高了代码的简洁度,in列表的值必须一致或者兼容,in列表不支持通配符。
    案例1 获取工种编号为aaa、bbb、ccc中一个的员工信息
    select * from employees where job_id in(“aaa”,’bbb’,’’ccc);
    select * from employees where job_id=”aaa” or job_id = “bbb” or job_id = “ccc”;
    ④=或者<>不能判断null值,is null和is not null 可以用于判断null值
    案例1 查询没有奖金的员工信息
    select * from employees where commission_pct is null;
    ⑤<=>安全等于
    查询工资为10000的员工名字
    Select last_name from employees where salary <=>10000;
    ⑥is null 和 <=>
    is null:只可以判断null值,可读性较高
    <=>:既可以判断null值,又可以判断普通数值,可读性较差。
    三、常见函数
    1、单行函数
    ①字符函数:length(获取字节个数)、concat(拼接字符串)、upper(转化成大写)、lower(转换为小写)、substring、instr(返回字符串第一次出现的索引,不存在返回0)、trim(去除前后空格)、lpad(用指定字符实现左填充)、rpad(用指定的字符实现右填充)、replace(替换)
    图片 1
    ②数学函数
    Round():四舍五入
    Ceil():向上取整
    Floor():向下取整
    Truncate():截断
    Mod():取余,mod(a,b) : a-a/bb
    图片 2
    ③日期函数
    NOW():返回当前日期加时间
    Curdate():返回当前日期
    Curtime():返回当前时间
    Str_to_date(字符类型,日期类型): 将字符类型转换为日期类型
    Date_format(日期类型,字符类型): 将日期类型转换为字符类型;
    图片 3
    ④流程控制函数
    if函数:其效果类似于if else
    图片 4
    Case函数用法一[类似于switch用法]
    语法:
    Case 要判断的字段或者表达式
    When 常量1 then 要显示的值1或语句1;
    When 常量2 then 要显示的值2或语句2;
    When 常量3 then 要显示的值3或语句3;

    Else 要显示的值n或者语句n;
    End
    图片 5
    Case函数用法二[类似于多重if]
    语法:
    Case
    When 条件1 then 要显示的值1或语句1
    When 条件2 then 要显示的值2或语句2

    Else 要显示的值n或语句n
    End
    图片 6
    ⑤其他函数
    SELECT VERSION();
    SELECT DATABASE();
    SELECT USER();
    2、分组函数(聚合函数、统计函数、组函数)
    分类:
    求和(sum)、avg(平均值)、max(最大值)、min(最小值)、count(计算个数)
    特点:
    ①sum和avg一般处理数值型,max、min、count又可以处理任何类型
    ②分组函数都忽略null值
    ③可以和distinct搭配实现去重运算
    ④count(
    )用于统计数量
    ⑤和分组函数一同查询的字段要求是group by后的字段
    案例1
    select sum(salary) avg(salary) min(salary) max(salary) count(salary) from employees;
    案例2 函数的适用性
    SELECT SUM(last_name) ,AVG(last_name) FROM employees; 返回值是0,0
    案例3 忽略null值
    SELECT
    SUM(commission_pct) ,AVG(commission_pct),SUM(commission_pct)/35,SUM(commission_pct)/107 FROM employees;
    案例4 和distinct结合使用 会自动去重
    SELECT SUM(DISTINCT salary),SUM(salary) FROM employees;
    案例5 count()的使用
    SELECT COUNT(salary) FROM employees;
    SELECT COUNT(
    ) FROM employees;
    SELECT COUNT(1) FROM employees;
    案例6 和分组函数一同查询的字段有限制
    SELECT AVG(salary),employee_id FROM employees;
    四、排序查询
    语法:select 查询列表 from 表名 [where 筛选条件] order by 排序的字段或者表达式
    1.排序函数的用法
    ①asc表示升序,可以省略,desc是降序
    ②order by可以支持单个字段、别名、表达式、函数、多个字段
    ③order by 子句在查询语句最后面,除了limit子句
    2.案例
    select * from employees order by salary desc;
    select * from employees where department_id >= 100 order by department_id;
    SELECT last_name , salary12(1+IFNULL(commission_pct,0)) FROM employees ORDER BY salary12(1+IFNULL(commission_pct,0));
    SELECT last_name , salary12(1+IFNULL(commission_pct,0))AS "年薪" FROM employees ORDER BY '年薪';
    SELECT department_id,AVG(salary) FROM employees GROUP BY department_id ORDER BY AVG(salary);
    SELECT last_name,salary FROM employees ORDER BY last_name DESC ,salary ASC;
    五、group by
    语法:select 字段1,字段2,… from 表名 [where 筛选条件] group by 字段1,字段2,..[having 筛选条件 limit 分页条件];
    查询列表必须来自分组的字段,保证逻辑的一致性。
    使用方式:
    ①group by 和聚合函数配合使用得时候,分组后计算
    Select avg(salary),last_name from employees group by department_id;
    ②与having配合使用得时候,分组后过滤;
    Select department_id,min(salary) from employees group by department_id having salary>3000;
    ③group by中聚合函数同时和非聚合函数一起使用时,非聚合函数取第一个匹配到时的字段内容。

    1.1 下载:

    1 http://dev.mysql.com/downloads/mysql/
    

    1.2 解压

    1.3 初始化

    1 cd c:mysql-5.7.16-winx64bin  (终端输入,进入可执行文件目录,下同)
    2  
    3 mysqld --initialize-insecure
    

    1.4 启动mysql服务

    1 mysqld  # 启动MySQL服务,在终端输入(下同)
    

    1.5 启动MySQL客户端并连接MySQL服务

    由于初始化时使用的【mysqld --initialize-insecure】命令,其默认未给root账户设置密码

     

    1 # 进入可执行文件目录
    2 cd c:mysql-5.7.16-winx64bin
    3  
    4 # 连接MySQL服务器
    5 mysql -u root -p
    6  
    7 # 提示请输入密码,直接回车
    

     

    输入回车,见下图表示安装成功:

    图片 7

    1.6 添加环境变量

    1.7 将MySQL服务制作成windows服务

    1 # 制作MySQL的Windows服务,在终端执行此命令:
    2 "c:mysql-5.7.16-winx64binmysqld" --install
    3  
    4 # 移除MySQL的Windows服务,在终端执行此命令:
    5 "c:mysql-5.7.16-winx64binmysqld" --remove
    

    注册成服务之后,以后再启动和关闭MySQL服务时,仅需执行如下命令:

    1 # 启动MySQL服务
    2 net start mysql
    3  
    4 # 关闭MySQL服务
    5 net stop mysql
    

    1.8 Linux 版本

    安装:

    1 yum install mysql-server 
    

    服务端启动:

    1 mysql.server start
    

    客户端连接:

    1 连接:
    2     mysql -h host -u user -p
    3  
    4     常见错误:
    5         ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2), it means that the MySQL server daemon (Unix) or service (Windows) is not running.
    6 退出:
    7     QUIT 或者 Control+D
    

    调试存储过程时,往往可以用print将存储过程中的变量print出来,

    2、数据库操作

    2.1 显示数据库

    1 # 终端输入
    2 
    3 SHOW DATABASES;
    4 
    5 # 不区分大小写,下同
    

    默认数据库:
      mysql - 用户权限相关数据
      test - 用于用户测试数据
      information_schema - MySQL本身架构相关数据

    2.2 创建数据库

    1 # utf-8
    2 CREATE DATABASE 数据库名称 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    3  
    4 # gbk
    5 CREATE DATABASE 数据库名称 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
    

    2.3 使用数据库

    1 USE db_name;
    

    显示当前使用的数据库中所有表:SHOW TABLES;

    2.4 用户管理

     1 创建用户
     2     create user '用户名'@'IP地址' identified by '密码';
     3 删除用户
     4     drop user '用户名'@'IP地址';
     5 修改用户
     6     rename user '用户名'@'IP地址'; to '新用户名'@'IP地址';;
     7 修改密码
     8     set password for '用户名'@'IP地址' = Password('新密码')
     9   
    10 PS:用户权限相关数据保存在mysql数据库的user表中,所以也可以直接对其进行操作(不建议)
    

    2.5 授权管理

    1 show grants for '用户'@'IP地址'                  -- 查看权限
    2 grant  权限 on 数据库.表 to   '用户'@'IP地址'      -- 授权
    3 revoke 权限 on 数据库.表 from '用户'@'IP地址'      -- 取消权限
    

    图片 8图片 9

     1 all privileges  除grant外的所有权限
     2             select          仅查权限
     3             select,insert   查和插入权限
     4             ...
     5             usage                   无访问权限
     6             alter                   使用alter table
     7             alter routine           使用alter procedure和drop procedure
     8             create                  使用create table
     9             create routine          使用create procedure
    10             create temporary tables 使用create temporary tables
    11             create user             使用create user、drop user、rename user和revoke  all privileges
    12             create view             使用create view
    13             delete                  使用delete
    14             drop                    使用drop table
    15             execute                 使用call和存储过程
    16             file                    使用select into outfile 和 load data infile
    17             grant option            使用grant 和 revoke
    18             index                   使用index
    19             insert                  使用insert
    20             lock tables             使用lock table
    21             process                 使用show full processlist
    22             select                  使用select
    23             show databases          使用show databases
    24             show view               使用show view
    25             update                  使用update
    26             reload                  使用flush
    27             shutdown                使用mysqladmin shutdown(关闭MySQL)
    28             super                   
    		

    本文由金沙国际官网发布于数据库,转载请注明出处:select基础查询,关于SSMS显示select出来的数据行的

    关键词: