MySQL: 2、SQL语言
一、SQL的简介:
1.SQL的概念:
SQL就是结构化查询语言,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统
2.SQL的作用:
- 是所有关系型数据库的统一查询规范,不同的关系型数据库都支SQL
- 不同数据库之间的SQL也有一些区别,这个称为 方言
3.SQL的注释方式:
-- 空格 单行注释
/* */ 多行注释
# MySql特有的单行注释
二、SQL的分类
分类 说明

三、DDL数据定义语言:操作数据库、表
DDL操作数据库
1、创建数据库
create database 数据库名; -- 创建指定名称的数据库
create database 数据库名 character set 字符集; -- 创建指定名称的数据库并指定字符集
ps: 如果没设置字符集,那么数据库默认使用的是Latin1字符集,也就是ISO-8859-1。
该数据库下的表也会使用该字符集
2、查看、选择数据库
use 数据库; -- 切换数据库
select database(); -- 查看当前正在使用的数据库
show databases; -- 查看MySQL中都有哪些数据库
show create database 数据库名; -- 查看一个数据库的定义信息
datetime 日期类型,显示为 yyyy-MM-dd HH:mm:ss

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语言的更多相关文章
- MySQL的sql语言分类DML、DQL、DDL、DCL、
MySQL的sql语言分类DML.DQL.DDL.DCL. SQL语言一共分为4大类:数据定义语言DDL,数据操纵语言DML,数据查询语言DQL,数据控制语言DCL 1.数据定义语言DDL(Data ...
- MySQL的sql语言分类DML、DQL、DDL、DCL
SQL语言一共分为4大类:数据定义语言DDL,数据操纵语言DML,数据查询语言DQL,数据控制语言DCL 1.数据定义语言DDL(Data Definition Language) 对象: 数据库和表 ...
- Mysql学习---SQL语言的四大分类
SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL. 1. 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHE ...
- 使用mysql,sql语言删除冗余信息
这是表,我们需要操作的就是删除除了学号不同,其它信息都相同的冗余信息 思路:删除表格class3中的冗余的stu_id信息,那么接下来我们应该去筛选哪些stu_id信息是冗余的, 此时我们想到的就是利 ...
- 自学SQL语言的例子(使用MySQL实现)
SQL语言作为一种数据库管理的标准语言有着极为广泛的应用场景,菜鸟入门选用的数据库软件是轻量级的免费(这个极为重要)的MySQL,下载链接如下:http://www.mysql.com/downloa ...
- MySQL从删库到跑路(三)——SQL语言
作者:天山老妖S 链接:http://blog.51cto.com/9291927 一.SQL语言简介 1.SQL语言简介 SQL是结构化查询语言(Structured Query Language) ...
- 【MySQL笔记】SQL语言四大类语言
SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL. 1. 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句,FROM子句, ...
- MySQL入门——MySQL数据库和SQL语言
MySQL入门——MySQL数据库和SQL语言 摘要:本文主要了解了MySQL关系型数据库和SQL语言的基本知识. MySQL数据库 简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB ...
- mysql数据库基本操作sql语言
mysql的启动与关闭 启动 /etc/init.d/mysql start 多实例使用自建脚本启动 2种关闭数据库方法 mysqladmin -uroot -p密码 shutdown #优雅关闭/e ...
- MySQL中的SQL语言
从功能上划分,SQL 语言可以分为DDL,DML和DCL三大类.1. DDL(Data Definition Language)数据定义语言,用于定义和管理 SQL 数据库中的所有对象的语言 :CRE ...
随机推荐
- Docker 安装及配置镜像加速
Docker 版本 随着 Docker 的飞速发展,企业级功能的上线,更好的服务意味着需要支付一定的费用,目前 Docker 被分为两个版本: community-edition 社区版 enterp ...
- Orleans 知多少 | Orleans 中文文档上线
Orleans 简介 Orleans是一个跨平台框架,用于构建健壮,可扩展的分布式应用程序 Orleans建立在.NET开发人员生产力的基础上,并将其带入了分布式应用程序的世界,例如云服务. Orle ...
- CSAPP bomb分析
CSAPP bomb分析 问题介绍 这是一个关于反汇编方面的问题,根据已有的二进制代码来推测程序中的特定条件,主要参考了以下各个博客: CSDN 1 CSDN 2 CSDN 3 CSDN 4 stac ...
- oracle备份之恢复管理目录
一.管理恢复目录 #现实应用中一般都是专门新建一个rman 数据库,给所有的数据库做catalog1.建立恢复目录 #建立恢复目录表空间SQL> create tablespace rman_t ...
- Event loop详解(包含Node端)
Event loop事件循环,是一个执行模型.不同的浏览器以及Nodejs里的具体实现是不一样的. 一,浏览器端: HTML5规范里有明确定义,简单的说: 1,JS是单线程的,执行的时候在一条主栈上: ...
- iOS打电话功能的简单实现
小功能简介 iOS中的很多小功能都是非常简单的,几行代码就搞定了,比如打电话.打开网址.发邮件.发短信等 打电话-方法3 创建一个UIWebView来加载URL,拨完后能自动回到原应用 if (_we ...
- 目标识别AI资料
朋友推荐的, 还有自己搜的. 入门可以看看. 网上资料应该不少, 一搜一大把, 简单记下地址. Review of Deep Learning Algorithms for Object Detect ...
- Docker 搭建 Redis Cluster 集群环境
使用 Docker 搭建 Redis Cluster,最重要的环节就是容器通信的问题,这一块我们在之前的文章中已经给大家解决了<Docker 网络模式详解及容器间网络通信>,本篇文章主要练 ...
- 面试【JAVA基础】锁
1.锁状态 锁的状态只能升级不能降级. 无锁 没有锁对资源进行锁定,所有线程都能访问并修改同一个资源,但同时只有一个线程能修改成功.其他修改失败的线程会不断重试,直到修改成功,如CAS原理和应用是无锁 ...
- Activiti7 网关(排他网关)
什么是排他网关? 排他网关(也叫异或(XOR)网关,或叫基于数据的排他网关),用于在流程中实现决策,当流程执行到这个网关,所有分支都会判断条件是否为true,如果为true则执行该分支 注意:排他网关 ...