zoukankan      html  css  js  c++  java
  • 数据库第一天

    Mysql的启动与停止
    方式一:计算机--右键管理--服务
    方式二:通过管理员身份运行cmd
    net start服务名(启动服务)
    net stop 服务名(停止服务)

    Mysql服务的登录和退出
    方式一:通过mysql自带的客户端
    只限root用户
    方式二:通过windows自带的客户端
    在cmd中输入mysql -h localhost -P 3306 -u root -p(写密码可写可不写 不写的话在后面会提示你写)
    [-h 主机名 -P端口号]自带电脑可以不写 -u 用户名 -p 密码

    Mysql的常见命令
    1.查看当前所有的数据库
    show databases;
    2.打开指定的库
    use 库名;
    3.查看当前库的所有表
    show tables;
    4.查看其他库的所有表
    show tables from 表名
    5.创建表
    create table 表名(

    列名 列类型,
    列名 列类型,
    。。。
    );

    6.查看结构
    desc 表名;

    7.查看服务器的版本
    方式一:登录到mysql的服务端
    select version();
    方式二:没有登录到mysql的服务端
    mysql --version

    mysql --V
    Mysql的语法规范
    1.不区分大小写,但关键字大写,表名,列名小写
    2.每条命令最好用分号结尾
    3.每条命令根据需要,可以进行缩进 或换行
    4.注释
    单行注释 #注释文字
    -- 注释文字
    多行注释:/*注释文字*/

    进阶1:基础查询

    语法:
    select 查询 from 表名;

    特点:
    查询列表可以是:表中的字段、常量值、表达式、函数
    查询的结果是一个虚拟的表格

    使用数据库
    use 数据库名;

    1.查询单个字段
    SELECT last_name FROM employees;

    2.查询多个字段
    SELECT last_name,salay,email FROM employees;

    3.查询表中多个字段
    SELECT 直接点表然后逗号连接
    F10进行排列

    SELECT * FROM employees 利用通配符* 顺序显示所有的表

    `着重号 不是单引号 区分关键字和表名


    4.查询常量值
    SELECT 100;
    SELECT 'jonh';

    5.查询表达式
    SELECT 10*100;

    6.查询函数
    SELECT VERSION();

    7.起别名

    方式一:使用as
    SELECT 100*98 as 结果;
    SELECT last_name as 姓,frist_name as 名 FROM 表名;
    方式二:使用空格
    SELECT last_name 姓,frist_name 名 FROM 表名;
    方式三:查询salay 显示结果为 out put
    SELECT salay AS "out put" FROM employees;

    8.去重

    案列:查询员工表中涉及到的所有部门编号
    SELECT DISTINCT department_id FROM employees;

    9.+的作用

    mysql中的加号仅有一个功能:运算符
    select 100+90; 两个数值型 两个数相加
    select '123'+90;字符串和数值相加
    select 'ada'+90;不能相加为0 结果为90
    select null+90; 有null结果都是null

    SELECT CONCAT('a','b','c') AS 结果;
    案列:查询员工名和姓连接成一个字段,并显示为 姓名
    SELECT CONCAT(last_name,frist_name) AS 姓名
    FROM employees;

    进阶2:条件查询:


    语法:
    3. select 查询
    1. from 表名
    2. where 筛选条件;
    执行顺序1,2,3

    分类:
    一、按条件表达式筛选

    条件运算符:>m < = != <> >= <=

    二、按逻辑表达式筛选
    逻辑运算符:
    && || !
    and or not

    &&和and:两个条件都为true,结果为true 反之为false
    ||或or:只要一个条件为true结果就为true 反之为false
    !或not:如果连接的条件本身为false,结果为true,反之为false

    三、模糊查询
    like
    between and
    in
    is null

    一、按条件表达式筛选

    案例一:查询工资>12000的员工信息

    SELECT *
    FROM employees
    WHERE salay>12000;

    案例二:查询部门编号不等于90号的员工名和部门编号
    SELECT last_name,department_id
    FROM employees
    WHERE department_id<>90;

    二.按逻辑表达式筛选

    案列1:查询工资z在10000到20000之间的员工名、工资以及奖金
    SELECT last_name,salay,commission_pct
    FROM employees
    WHERE salay>=10000 AND salay<=20000;

    案例二:查询部门编号不是在90到110之间,或者工资高于15000的员工信息
    SELECT * FROM employees
    WHERE NOT(department_id<90 AND department_id>100) OR salay>15000;
    三、模糊查询
    like
    特点:
    1.一般的和通配符搭配使用
    %任意多个字符,包含0个字符
    _任意单个字符
    between and
    in
    is null

    1.like
    案例一:查询员工名中包含字符a的员工信息
    SELECT *
    FROM employees
    WHERE last_name like (%a%);

    案例二:查询员工名中第三个字符为e,第五个字符为a的员工名和工资
    SELECT last_name,salay
    FROM employees
    WHERE last_name LIKE '___e_a%';

    案例三:查询员工名中第二个字符为_的员工名
    SELECT last_name
    FROM employees
    WHERE last_name LIKE '_$_%' ESCAPE '$'; ESCAPE转义
    2.between and
    使用between and可以提高语句的简洁度
    包含临界值
    两个临界值不要调换位置

    案例一:查询员工编号在100到120之间的员工信息
    SELECT *
    FROM employees
    WHERE employees_id>=100 AND employees_id<=120;


    SELECT *
    FROM employees
    WHERE employees_id BETWEEN 100 AND 120;

    3.in

    含义:用于判断某字段的值是否属于in列表中的某一项
    特点:1.使用in提高语句的简洁度
    2.in列表的值类型必须一致或兼容
    3.不支持%通配符

    案例一:查询员工的工种编号 IT_PROG、AD_VP、AD_PRES中的一个员工名和工种编号

    SELECT last_name,job_id
    FROM employees
    WHERE job_id='IT_PROG' OR job_id='AD_VP' OR job_id='AD_PRES';

    SELECT last_name,job_id
    FROM employees
    WHERE job_id IN ('IT_PROG'、'AD_VP'、'AD_PRES')

    4.is null
    =或<>不能用于判断null值
    is null或者is not null 可以判断null值


    案例一:查询没有奖金的员工名和奖金率
    SELECT last_name,commission_pct
    FROM employees
    WHERE commission_pct IS NULL;

    案例二:查询有奖金的员工名和奖金率
    SELECT last_name,commission_pct
    FROM employees
    WHERE commission_pct IS NOT NULL;

    安全等于<=>
    案例一:查询没有奖金的员工名和奖金率
    SELECT last_name,commission_pct
    FROM employees
    WHERE commission_pct <=> NULL;

    案例二:查询工资为12000的员工信息
    SELECT last_name,salay
    FROM employees
    WHERE salay<=>12000;

    is null pk <=>
    IS NULL 仅仅只可判断NULL值,可读性较高,建议使用
    <=> 既可以判断NULL值,又可以判断普通的数值,可读性较低

  • 相关阅读:
    设置linux session 编码
    在masterpage中添加对usercontrol的引用
    首页的sitecontent地址
    iis的路径
    设置repeater每行多少个的方法
    updatepannel的使用
    取caml查询结果的前多少行
    设置视频自动播放
    网站集与网站
    notepad++ 死机 找到没保存的文件
  • 原文地址:https://www.cnblogs.com/liugangjiayou/p/11660805.html
Copyright © 2011-2022 走看看