一、SQL的简介:

  1.SQL的概念:

    SQL就是结构化查询语言,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统

  2.SQL的作用:

      - 是所有关系型数据库的统一查询规范,不同的关系型数据库都支SQL

      - 不同数据库之间的SQL也有一些区别,这个称为 方言

  3.SQL的注释方式:

    -- 空格    单行注释

    /* */      多行注释

    #         MySql特有的单行注释

二、SQL的分类

  分类      说明

    数据定义语言  简称DDL(Data Definition Language),用来定义数据库对象:数据库,表,列等。
  数据操作语言  简称DML(Data Manipulation Language),用来对数据库中表的记录进行更新。
  数据查询语言  简称DQL(Data Query Language),用来查询数据库中表的记录。
  数据控制语言  简称DCL(Date Control Language),用来定义数据库的访问权限和安全级别,及创建用户
  

 三、DDL数据定义语言:操作数据库、表

   DDL操作数据库

  1、创建数据库

    create database 数据库名;            -- 创建指定名称的数据库

    create database 数据库名 character set 字符集;  -- 创建指定名称的数据库并指定字符集

    ps: 如果没设置字符集,那么数据库默认使用的是Latin1字符集,也就是ISO-8859-1。

       该数据库下的表也会使用该字符集

  2、查看、选择数据库

    use 数据库;      -- 切换数据库

    select database();    -- 查看当前正在使用的数据库

    show databases;    -- 查看MySQL中都有哪些数据库

    show create database 数据库名;  -- 查看一个数据库的定义信息

  3、修改数据库字符集
    alter database 数据库名 character set 字符集;  -- 修改数据库字符集
  4、删除数据库
    drop database 数据库名;  -- 从mysql中永久删除某个数据库
 
 DDL操作数据表
  0、首先要知道MySQL常见的数据类型:
     1)常用的数据类型:
      int     整形
      double   浮点型
      varchar  字符串型,再定义时必须指定长度,否着回报错
      char    字符串型
      date          日期类型,yyyy-MM-dd , 只有年月日,没有时分秒
        datetime 日期类型,显示为 yyyy-MM-dd HH:mm:ss
     
     ps: 需要注意的是MySQL中的 char 类型 与 varchar类型都对应了 Java中的字符串类型,它们的区别在于:
        -- char 类型是固定长度的,根据定义的字符串长度分配足够的空间
        -- varchar 类型是可变长度的,只使用字符串长度所需的空间
       
        比如: 用x和y分别来保存字符串 "abc"
          x char(10) 占用10个字节
          y varchar(10)占用3个字节
        适用场景:
          char适用存储固定长度的字符串,比如密码等
          varchar适用存储在一定范围内,有长度变化的字符串
    
    2)MySQL数据类型
       

  2、创建表

    create table 表名(

      字段名1   字段类型(长度),

      字段名2  字段类型      -- 注意最后一列不需要加逗号  

    )ENGINE=InnoDB DEFAULT CHARSET = utf8;

    

   3、查看表

    show tables; -- 查看当前数据库中所有的表名

    desc 表名;    -- 查看数据库表的结构

    show create table  表名;  -- 查看表的字符集

   4、删除表

    drop table 表名;  -- 从数据库中删除表

    drop table if exists 表名;-- 判断表是否存在,存在就删除,不存在就不删除

   5、修改表

    rename table 旧表名 to 新表名;          -- 修改表名

    alter table 表名 character set 字符集;          -- 修改表的字符集

    alter table 表名  add 字段名 字段类型;        -- 向表中添加字段

    alter table 表名 modify 字段名 字段类型;       -- 修改表中字段的数据类型或者长度

    alter table 表名 change 旧字段名 新字段名 类型(长度);   -- 修改字段名

    alter table 表名 drop 字段名;              -- 删除字段名

 四、DML数据操作语言:操作表中数据

  1、往表中插入数据

    方式1:插入全部字段,并将所有字段名都写出来
  insert into 表名 (字段名1,字段名2...) values(字段值1,字段值2...);   方式2:插入全部字段,但是不写字段名
  insert into 表名 values(字段值1,字段值2...);   方式3:指定插入字段的值
  insert into 表名 (字段名1) values(字段值1);

   ps: 1. varchar char date 类型的值必须使用单引或者双引号
      2. 如果插入空盒子,可以忽略不写或者插入null

  2、更改表中数据的值   

   方式1: 不带条件的修改,也就是修改全部字段的数据
  update 表名 set 列名 = 值;

   方式2:带条件的修改
  update 表名 set 列名 = 值 where 条件表达式:字段名 = 值;
  update 表名 set 列名 = 值,列名 = 值 where 条件表达式:字段名 = 值;
 3、删除表中的数据 
   方式1: 删除表中所有数据
    delete from 表名;
    truncate table 表名;
    
    ps:着两种都是直接删除表中所有的数据,但这两种又有些区别
      delete from 表名; --》 有多少条记录就执行多少次删除操作,效率低
      truncate table 表名; --》 先删除整张表,然后再重新创建一张一模一样的表,效率高    


   方式2: 跟进条件删除数据
    delete from 表名 where 字段名 = 值;

五、DQL数据查询语言:查询表中的数据
1、简单查询
    1. 查询表中多少有数据:
select * from 表名; 2. 查询表中的所有记录,但仅显示特定的字段
select 字段1,字段2 from 表名; 3. 查询表中的数据,并将列名用其他别名显示
select
eid AS '编号',
ename AS '姓名',
sex AS '性别',
salary AS '薪资',
hire_date '入职时间', -- AS 可以省略
dept_name '部门名称'
FROM emp; 4. 查询表中的数据,并去掉重复的数据
-- 使用distinct 关键字,去掉重复部门信息
SELECT DISTINCT dept_name FROM emp; 5. 查询表中的数据,并将查询结果参与运算
SELECT ename , salary + 1000 FROM emp;
  
  2、条件查询
  
    如果查询语句中没有设置条件,就会查询所有的行信息,在实际应用中,
一定要指定查询条件,对记录进行过滤 select 列名 from 表名 where 条件表达式;
* 先取出表中的每条数据,满足条件的数据就返回,不满足的就过滤掉 1.比较运算符:
    

2.逻辑运算符

3.模糊查询、通配符
        # 查询含有'精'字的所有员工信息
SELECT * FROM emp WHERE ename LIKE '%精%'; # 查询以'孙'开头的所有员工信息
SELECT * FROM emp WHERE ename LIKE '孙%'; # 查询第二个字为'兔'的所有员工信息
SELECT * FROM emp WHERE ename LIKE '_兔%'; # 查询没有部门的员工信息
SELECT * FROM emp WHERE dept_name IS NULL;
-- SELECT * FROM emp WHERE dept_name = NULL; 错误方式 # 查询有部门的员工信息
SELECT * FROM emp WHERE dept_name IS NOT NULL;

MySQL: 2、SQL语言的更多相关文章

  1. MySQL的sql语言分类DML、DQL、DDL、DCL、

    MySQL的sql语言分类DML.DQL.DDL.DCL. SQL语言一共分为4大类:数据定义语言DDL,数据操纵语言DML,数据查询语言DQL,数据控制语言DCL 1.数据定义语言DDL(Data ...

  2. MySQL的sql语言分类DML、DQL、DDL、DCL

    SQL语言一共分为4大类:数据定义语言DDL,数据操纵语言DML,数据查询语言DQL,数据控制语言DCL 1.数据定义语言DDL(Data Definition Language) 对象: 数据库和表 ...

  3. Mysql学习---SQL语言的四大分类

    SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL. 1. 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHE ...

  4. 使用mysql,sql语言删除冗余信息

    这是表,我们需要操作的就是删除除了学号不同,其它信息都相同的冗余信息 思路:删除表格class3中的冗余的stu_id信息,那么接下来我们应该去筛选哪些stu_id信息是冗余的, 此时我们想到的就是利 ...

  5. 自学SQL语言的例子(使用MySQL实现)

    SQL语言作为一种数据库管理的标准语言有着极为广泛的应用场景,菜鸟入门选用的数据库软件是轻量级的免费(这个极为重要)的MySQL,下载链接如下:http://www.mysql.com/downloa ...

  6. MySQL从删库到跑路(三)——SQL语言

    作者:天山老妖S 链接:http://blog.51cto.com/9291927 一.SQL语言简介 1.SQL语言简介 SQL是结构化查询语言(Structured Query Language) ...

  7. 【MySQL笔记】SQL语言四大类语言

     SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL.   1. 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句,FROM子句, ...

  8. MySQL入门——MySQL数据库和SQL语言

    MySQL入门——MySQL数据库和SQL语言 摘要:本文主要了解了MySQL关系型数据库和SQL语言的基本知识. MySQL数据库 简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB ...

  9. mysql数据库基本操作sql语言

    mysql的启动与关闭 启动 /etc/init.d/mysql start 多实例使用自建脚本启动 2种关闭数据库方法 mysqladmin -uroot -p密码 shutdown #优雅关闭/e ...

  10. MySQL中的SQL语言

    从功能上划分,SQL 语言可以分为DDL,DML和DCL三大类.1. DDL(Data Definition Language)数据定义语言,用于定义和管理 SQL 数据库中的所有对象的语言 :CRE ...

随机推荐

  1. Prefrontal cortex as a meta-reinforcement learning system

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! Nature Neuroscience, 2018 Abstract 在过去的20年中,基于奖励的学习的神经科学研究已经集中在经典模型上, ...

  2. ISO8601

    日期和时间的组合表示法 合并表示时,要在时间前面加一大写字母T,如要表示东八区时间2004年5月3日下午5点30分8秒,可以写成2004-05-03T17:30:08+08:00或20040503T1 ...

  3. Java 接口简述

    Java 接口 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明.一个类通过继承接口的方式,从而来继承接口的抽象方法. 接口并 ...

  4. Ubuntu 20.04.1 安装软件和系统配置脚本

    #!/bin/bash # https://launchpad.net/ubuntu # https://www.easyicon.net # https://download-chromium.ap ...

  5. 前端ES6 一些面试题

    1.ES5.ES6和ES2015有什么区别? ES2015特指在2015年发布的新一代JS语言标准,ES6泛指下一代JS语言标准,包含ES2015.ES2016.ES2017.ES2018等.现阶段在 ...

  6. JDK 8 新特性之函数式编程 → Stream API

    开心一刻 今天和朋友们去K歌,看着这群年轻人一个个唱的贼嗨,不禁感慨道:年轻真好啊! 想到自己年轻的时候,那也是拿着麦克风不放的人 现在的我没那激情了,只喜欢坐在角落里,默默的听着他们唱,就连旁边的妹 ...

  7. laya资源版本管理

    layaair-cmd https://ldc.layabox.com/doc/?nav=zh-as-3-4-2 Laya的版本管理 https://blog.csdn.net/qq_43287088 ...

  8. 分布式事务和分布式hash

    分布式事务是什么? 分布式事务就是保证各个微服务之间数据一致,本质上就是保证不同数据库的数据一致性.一致性状态包含 强一致性,任何时刻,所有节点中数据都是一样的 弱一致性,数据更新后,只能访问到部分节 ...

  9. Idiomatic Phrases Game(最短路+注意坑点)

    Tom is playing a game called Idiomatic Phrases Game. An idiom consists of several Chinese characters ...

  10. Almost All Divisors(求因子个数及思维)

    ---恢复内容开始--- We guessed some integer number xx. You are given a list of almost all its divisors. Alm ...