SQL和RDBMS的区别:用SQL操作RDBMS

一、数据的完整性

一个汉字占多少长度与编码有关:

UTF-8:一个汉字=3个字节

GBK:一个汉字=2个字节

二、数据库基本操作

1、 登录数据库

首先进入mysql安装目录下的bin文件,然后运行命令:

2、退出登录:quit或者exit

3、 以分号或者\g结束

  查看sql版本:select version();

  查看当前时间:select now();

  修改提示符:prompt 新的提示符

  查看创建的数据库:show databases;

  查看当前正在使用的数据库:select database();  --NULL值的是空

  使用数据库:use demo;

  创建数据库:create database 数据库名;

  查看数据库的创建语句;show create database 数据库名称;

  删除数据库:drop database 数据库名;

  指定数据集:create database 数据库名 charset=utf8;

输出Mysql数据库管理系统的性能及统计信息:show table status from 数据库名;

三、数据表基本操作

1、查看当前所使用的表:show tables;

  使用该命令前需要使用 use 命令来选择要操作的数据库。

创建表:

create table 数据表名(字段名 字段类型 字段约束[,字段名 字段类型 字段约束])

例:CREATE TABLE student (

id INT UNSIGNED PRIMARY KEY auto_increment,

NAME VARCHAR(10) NOT NULL,

age TINYINT UNSIGNED DEFAULT 0,

high DECIMAL (5, 2) DEFAULT 0.0,

gender enum('男','女','中性','保密') DEFAULT '保密',   --枚举值默认从1开始,在使用上是一样的

cls_id INT UNSIGNED NOT NULL );

查看表的创建语句:show create table 表名;

查看表结构:desc 表名 或 show columns from 表名;

显示数据表的详细索引信息,包括PRIMARY KEY(主键):SHOW INDEX FROM 表名:

修改表结构:alter add/modify/change

其中:alter是针对于不存在的字段,例如:添加字段名称

add/modify是针对于已经存在的字段,例如:修改字段类型

change:修改字段名和类型、约束

alter table 表名 add 新加字段 字段约束

例:alter table student add birthday datetime default “2011-11-11 11:11:11”

修改已经存在的字段的类型:

alter table student modify birthday date default "2011-11-11";

修改已经存在的字段名:

alter table student change 旧名称 新名称 date default "2011-11-11";

alter table student change birthday birth date default "2011-11-11";

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

例:alter table student drop birth;

删除表:drop table 表名;

四、数据的增删改查

1、增加insert

(1)全列插入:值与表的字段顺序一一对应

(在实际开发中用的不多,如果表结构一旦发生变化,全列插入就会发生错误)

insert into 表名 values (值1,值2);

(2)指定列插入:

insert into 表名 (列1,列2,……) values (值1,值2,……)

insert into student (name,high,cls_id) values('夏夏',111,2);

(3)多行插入

insert into 表名 (列1,列2,……) values (值1,值2,……), values (值1,值2,……)

2、修改update

update 表名 set 列1=值1,列2=值2 [where 条件]

没有where进行条件限制就是全表更新

4、 删除delete

物理删除:delete from 表名 [where 条件判断]

delete from student;  --会删除表内所有内容

where:数据库中常用的是where关键字,用于在初始表中筛选查询。它是一个约束声明,用于约束数据,在返回结果集之前起作用。

group by:对select查询出来的结果集按照某个字段或者表达式进行分组,获得一组组的集合,然后从每组中取出一个指定字段或者表达式的值。

having:用于对where和group by查询出来的分组经行过滤,查出满足条件的分组结果。它是一个过滤声明,是在查询返回结果集以后对查询结果进行的过滤操作。

执行顺序:select –>where –> group by–> having–>order by

五、数据的其它操作

1、UNION :用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。

SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions];

参数

  • expression1, expression2, ... expression_n: 要检索的列。

  • tables: 要检索的数据表。

  • WHERE conditions: 可选, 检索条件。

  • DISTINCT: 可选,删除结果集中重复的数据。默认情况下 UNION 操作符已经删除了重复数据,所以 DISTINCT 修饰符对结果没啥影响。

  • ALL: 可选,返回所有结果集,包含重复数据。

总结:

  UNION 语句:用于将不同表中相同列中查询的数据展示出来;(不包括重复数据)

  UNION ALL 语句:用于将不同表中相同列中查询的数据展示出来;(包括重复数据)

SELECT 列名称 FROM 表名称 UNION SELECT 列名称 FROM 表名称 ORDER BY 列名称;
SELECT 列名称 FROM 表名称 UNION ALL SELECT 列名称 FROM 表名称 ORDER BY 列名称;

  

使用SQL实现数据操作的更多相关文章

  1. SQL大数据操作统计

    SQL大数据操作统计 1:select count(*) from table的区别SELECT object_name(id) as TableName,indid,rows,rowcnt FROM ...

  2. SQL语言-----数据操作

    数据操作 增加数据,insert into 标准格式 insert into 表名 (字段的列表)value(数据列表): 使用set insert into 表名 set 字段1=值,2.....: ...

  3. SQL语句 - 数据操作

    表中数据的变化牵一发而动全身,会同时导致到索引中数据的变化.因此如果查询语句不需要索引,就应该删除无用的索引以提高效率. 一.INSERT语句 1.基本插入语句 insert用于向表中输入数据,其具体 ...

  4. ODPS SQL <for 数据操作语言DML>

    基本操作: 查询: SELECT [ALL | DISTINCT] select_expr, select_expr, ... FROM table_reference [WHERE where_co ...

  5. MySQL SQL DML (数据操作语言)

    包括 SELECT, UPDATE, DELETE, INSERT SELECT 从数据库表中获取数据 用法 SELECT name FROM students; SELECT name,age FR ...

  6. 数据库_8_SQL基本操作——数据操作

    SQL基本操作——数据操作 一.新增数据(两种方案) 方案1: 给全表字段插入数据,不需要指定字段列表,要求数据的值出现的顺序必须与表中设计的字段出现的顺序一致,凡是非数值数据,都需要使用引号(建议是 ...

  7. SQL不同服务器数据库之间的数据操作整理(完整版)

    ---------------------------------------------------------------------------------- -- Author : htl25 ...

  8. 使用Hive或Impala执行SQL语句,对存储在HBase中的数据操作

    CSSDesk body { background-color: #2574b0; } /*! zybuluo */ article,aside,details,figcaption,figure,f ...

  9. 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据操作(二)

    CSSDesk body { background-color: #2574b0; } /*! zybuluo */ article,aside,details,figcaption,figure,f ...

随机推荐

  1. JVM源码分析之堆内存的初始化

    原创申明:本文由公众号[猿灯塔]原创,转载请说明出处标注 “365篇原创计划”第十五篇. ​ 今天呢!灯塔君跟大家讲: JVM源码分析之堆内存的初始化   堆初始化 Java堆的初始化入口位于Univ ...

  2. 用WebIDE(coding)编写c语言

    本期教程有对应视频 首先注册登录coding,打开coding的Cloud Studio 创建一个新的工作环境 安装依赖命令build-essential sudo apt-get update su ...

  3. 赞!7000 字学习笔记,一天搞定 MySQL

    MySQL数据库简介 MySQL近两年一直稳居第二,随时有可能超过Oracle计晋升为第一名,因为MySQL的性能一直在被优化,同时安全机制也是逐渐成熟,更重要的是开源免费的. MySQL是一种关系数 ...

  4. Scrapy模拟登录赶集网

    1.打开赶集网登录界面,先模拟登录并抓包,获得post请求的request参数 2. 我们只需构造出上面的参数传入formdata即可 参数分析: setcookie:为自动登录所传的值,不勾选时默认 ...

  5. 数组中出现次数超过一半的数字(剑指offer-28)

    题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2. ...

  6. 数据可视化基础专题(八):Pandas基础(七) 数据清洗与预处理相关

    1.数据概览 第一步当然是把缺失的数据找出来, Pandas 找缺失数据可以使用 info() 这个方法(这里选用的数据源还是前面一篇文章所使用的 Excel ,小编这里简单的随机删除掉几个数据) i ...

  7. 目录(Django开发)

    python网络编程-socket编程 Django 笔记分享 Django之[基础篇] Django之[进阶篇] Django之 url组件 Django之 Models组件 Django之 adm ...

  8. 【JS代码压缩】使用YUI Compressor对js文件进行压缩处理

    概述 在使用html5开发Hybird APP的时候,可能会引入大量的js包,另外对于一些核心的js文件,进行一些特殊的处理, 如压缩和加密就显得很重要了,YUI Compressor就是这样一个用于 ...

  9. bzoj1699[Usaco2007 Jan]Balanced Lineup排队*&bzoj1636[Usaco2007 Jan]Balanced Lineup*

    bzoj1699[Usaco2007 Jan]Balanced Lineup排队 bzoj1636[Usaco2007 Jan]Balanced Lineup 题意: 询问区间最大值减区间最小值的差. ...

  10. 蒲公英 · JELLY技术周刊 Vol.14: Vue 3 新特性详解

    2020 年真的是灾祸频发,但是在各类前端框架上,依旧是在稳步的推进.近日 Vue 团队更新了关于 Vue 3 的最新状态,尤大新增了三个语法糖特性,它们将用于优化 SFC 的开发体验,你会有兴趣尝鲜 ...