SQL 基础语句

SQL 基础语句

在这里插入图片描述

DDL

  • Data Definition Language 数据定义语言
  • 创建 create
  • 删除 drop
  • 修改 alter
  • 清空 truncate
show tables ; --查看所有表:    
drop database db1;  --删除数据库    
create database db1 default character set utf8; --创建数据库    
use database; --选择数据库
create table t1(id int(3),name varchar(20));-- 创建表
desc t1--查看表
insert into t1 values(1,'user1'); -- 插入数据
alter table t1 add(age int(3)); --添加表字段语句  
alter table t1 drop id; -- 删除表字段语句  
alter table t1 modify age varchar(2); -- 修改表字段类型格式  
alter table t1 change age p1age int(3); -- 修改表字段名称  
alter table t1 rname per; -- 修改表名
truncate table t1; -- 清空表结构  
drop table t1; -- 删除表结构



DML

  • Data Manipulation Language 数据操纵语言
  • insert 插入数据入表
  • delete 删除数据
  • update 修改数据

实例

use db1;

create table tb1(
id int,
name varchar(20),
birth date,
address varchar(50)
);

#插入数据
insert into tb1 (id,name,address)values(102,'rose','beijing')

# 删除表tb1中的所有数据。
delete from tb1;
# 删除表中tb1中的id为101的记录。
delete from tb1 where id=101;
# 删除表tb1中 id为102和地址为上海的的数据
select * from tb1;
delete from tb1 where id=102 and address='shanghai';

update tb1 set address='english',name='micheal' where id=102;
# 将生日为 null 的记录的 name 改为 'general'
update tb1 set name='general' where birth is null;
# 将 id 为 101 的 birth 改为'2000-8-8';
update tb1 set birth = '2000-8-8' where id = 101;

DQL

数据查询语言

select子句  from子句     select colName[,colName.......]  from tablname;
select 列名1 as "要起的名" [, 列名2 as "要起的名" ,... ]  from tablname;

实例

#创建信息表
create table tb2 (
id int(5),
name VARCHAR(10),
job VARCHAR(9),
mgr int(4),
hiredate DATE,
sal int(7),
comm int(7),
deptid int(2)
);


#添加数据
insert into tb2 (id,name,job,mgr,hiredate,sal,comm,deptid) values
(7369 ,'SMITH','CLERK',7902,'1980-12-17',800,NULL,20),
(7499 ,'qfedu','SALESMAN' , 7698 , '1981-2-10' ,  1600 , 300 , 30),
(7521 ,'WARD', 'SALESMAN' , 7698,  '1981-2-22' ,  1250 , 500 , 30),
(7566 ,'JONES','MANAGER' ,  7839,  '1981-4-2' ,  2975 , NULL , 20),
(7654 ,'MARTIN','SALESMAN' , 7698,  '1981-9-28',   1250 , 1400 , 30),
(7698 ,'BLAKE','MANAGER' ,  7839 , '1981-5-1' ,   2850 , NULL , 30),
(7782 ,'CLARK','MANAGER' ,  7839 , '1981-6-9' ,   2450 , NULL , 10),
(7788 ,'SCOTT','ANALYST' ,  7566,  '1987-4-19',   3000 , NULL , 20),
(7839 ,'KING','PRESIDENT' ,NULL,  '1981-11-17',  5000 , NULL , 10),
(7844 ,'TURNER','SALESMAN' , 7698,  '1981-9-8',    1500 , 0   ,  30),
(7876 ,'ADAMS','CLERK' ,   7788 , '1987-5-23',   1100,  NULL , 20),
(7900 ,'JAMES','CLERK' ,    7698 , '1981-12-3',   950 ,  NULL , 30),
(7902 ,'FORD','ANALYST' ,  7566 , '1981-12-3' ,  3000 , NULL , 20),
(7934 ,'MILLER','CLERK',     7782 , '1982-1-23',   1300 , NULL , 10),
(8002 ,'IRONMAN','MANAGER',   7839 , '1981-6-9',    1600, NULL , 10),
(8003 ,'SUPERMAN','MANAGER',   7839 , '1981-6-9',    1600 , NULL , NULL);


#查询 员工姓名 职位 入职时间 所在部门
select name, job, hiredate, deptid
from tb2 limit 5;

SMITH,CLERK,1980-12-17,20
qfedu,SALESMAN,1981-02-10,30
WARD,SALESMAN,1981-02-22,30
JONES,MANAGER,1981-04-02,20
MARTIN,SALESMAN,1981-09-28,30


#查询 姓名 职位 分别起别名
select name as "姓名", job as "职位"
from tb2

# 查询员工表中部门号为 10 和 20 的员工的编号,姓名,职位,工资
select id, name, job, sal
from tb2
where deptid = 10
   or deptid = 20;
   
# 查询员工表中部门号不是 10 和 20 的员工的所有信息。
select *
from tb2
where deptid <> 10
  and deptid <> 20;
  
# 查询员工姓名中有a和s的员工信息。
select name
from tb2
where name like '%a%'
  and name like
      '%s%';
select name
from tb2
where name like '%a%s%'
   or name like
      '%s%a%';
      
      


DCL

DataControlLanguage,数据控制语言,用于创建用户,给用户授权,撤销权限,删除用户。

#创建用户
create user username@ip identified by newPwd;

create user 'mysql'@'192.168.1.128' identified by 'Rkun18.mysql';

#显示用户权限
show grants for username@ip;

mysql> show grants for mysql@192.168.1.128;
+-----------------------------------------------+
| Grants for mysql@192.168.1.128                |
+-----------------------------------------------+
| GRANT USAGE ON *.* TO 'mysql'@'192.168.1.128' |
+-----------------------------------------------+


授权

  • DML权限:insert,delete,update
  • DQL权限:select
  • DDL权限:create,alter,drop…
grant 权限1,权限2... on 数据库名.* to username@ip;

grant select,drop,insert on db1.* to 'mysql'@'192.168.1.128';

mysql> show grants for mysql@192.168.1.128;
+------------------------------------------------------------------+
| Grants for mysql@192.168.1.128                                   |
+------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'mysql'@'192.168.1.128'                    |
| GRANT SELECT, INSERT, DROP ON `db1`.* TO 'mysql'@'192.168.1.128' |
+------------------------------------------------------------------+



#撤销权限
revoke 权限1,权限2..on 数据库名.* from username@ip;


mysql> revoke drop on db1.* from mysql@192.168.1.128;
Query OK, 0 rows affected (0.00 sec)

mysql> show grants for mysql@192.168.1.128;
+------------------------------------------------------------+
| Grants for mysql@192.168.1.128                             |
+------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'mysql'@'192.168.1.128'              |
| GRANT SELECT, INSERT ON `db1`.* TO 'mysql'@'192.168.1.128' |
+------------------------------------------------------------+


#删除用户 不同版本mysql可能格式上不相同 注意
drop user 'username'@'192.168.1.128';
#查看现有用户
use mysql;
select Host,User from user;

%,root
192.168.1.128,mysql
localhost,mysql.session
localhost,mysql.sys
localhost,rkun18
localhost,root

drop user 'mysql'@'192.168.1.128';

mysql> select Host,User from user;
+-----------+---------------+
| Host      | User          |
+-----------+---------------+
| %         | root          |
| localhost | mysql.session |
| localhost | mysql.sys     |
| localhost | rkun18        |
| localhost | root          |
+-----------+---------------+

#刷新权限
flush privileges;

MySQL数据导入 导出

导出数据库

mysqldump -h IP -u 用户名 -p -d 数据库名 > 导出的文件名


#导出所有数据

[root@mysql ~]#  mysqldump -uroot -pRkun18.mysql --all-databases > /data/mysql.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
[root@mysql ~]# ll /data/mysql.sql 
-rw-r--r--. 1 root root 891320 6月  12 17:35 /data/mysql.sql

#导出数据库信息
mysqldump -uroot -pRkun18.mysql --databases db1 > 
/data/db1.sql


#导出某张表
mysqldump -uroot -pRkun18.mysql mysql user >/data/user.sql


导入数据库

#远程登录并进入数据库
mysql -h192.168.1.128 -uroot -pRkun18.mysql

-h:表示host地址,本地直接使用localhost,远程需要使用ip地址
-u:表示user用户
-p:表示password密码

#先把db1里的tb2表导出
[root@mysql data]# mysqldump -uroot -pRkun18.mysql db1 tb2 > /data/tb2.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
[root@mysql data]# ll
总用量 4
-rw-r--r--. 1 root root 2873 6月  12 18:00 tb2.sql


#删除tb2
use db1;
drop table tb2;
#查看表 只有tb1
mysql> show tables;
+---------------+
| Tables_in_db1 |
+---------------+
| tb1           |
+---------------+

#导入数据
mysql> source /data/tb2.sql

mysql> show tables;
+---------------+
| Tables_in_db1 |
+---------------+
| tb1           |
| tb2           |
+---------------+

#查看数据
mysql> select * from tb2 limit 5;
+------+--------+----------+------+------------+------+------+--------+
| id   | name   | job      | mgr  | hiredate   | sal  | comm | deptid |
+------+--------+----------+------+------------+------+------+--------+
| 7369 | SMITH  | CLERK    | 7902 | 1980-12-17 |  800 | NULL |     20 |
| 7499 | qfedu  | SALESMAN | 7698 | 1981-02-10 | 1600 |  300 |     30 |
| 7521 | WARD   | SALESMAN | 7698 | 1981-02-22 | 1250 |  500 |     30 |
| 7566 | JONES  | MANAGER  | 7839 | 1981-04-02 | 2975 | NULL |     20 |
| 7654 | MARTIN | SALESMAN | 7698 | 1981-09-28 | 1250 | 1400 |     30 |
+------+--------+----------+------+------------+------+------+--------+

#再次删除tb2 退出mysql

#不登陆导入数据库
 mysql -uroot -pRkun18.mysql db1 < /data/tb2.sql
 
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/31239.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

十大基础算法

一、选择排序 过程简单描述&#xff1a; 首先&#xff0c;找到数组中最小的那个元素&#xff0c;其次&#xff0c;将它和数组的第一个元素交换位置(如果第一个元素就是最小元素那么它就和自己交换)。其次&#xff0c;在剩下的元素中找到最小的元素&#xff0c;将它与数组的第二…

C++【STL】之priority_queue学习

优先级队列 优先级队列priority_queue也是STL库中容器适配器的一种&#xff0c;常用于进行数据优先级的处理&#xff0c;说到这儿是不是发现有些熟悉&#xff0c;没错它和我们之前讲解的堆本质上就是一个东西&#xff0c;底层都是数组存储的完全二叉树&#xff0c;它在STL库中…

设计模式(二十二):行为型之备忘录模式

设计模式系列文章 设计模式(一)&#xff1a;创建型之单例模式 设计模式(二、三)&#xff1a;创建型之工厂方法和抽象工厂模式 设计模式(四)&#xff1a;创建型之原型模式 设计模式(五)&#xff1a;创建型之建造者模式 设计模式(六)&#xff1a;结构型之代理模式 设计模式…

华为OD机试真题 JavaScript 实现【最短木板长度】【2022Q4 100分】,附详细解题思路

一、题目描述 小明有 n 块木板&#xff0c;第 i ( 1 ≤ i ≤ n ) 块木板长度为 ai。 小明买了一块长度为 m 的木料&#xff0c;这块木料可以切割成任意块&#xff0c;拼接到已有的木板上&#xff0c;用来加长木板。 小明想让最短的木板尽量长。 请问小明加长木板后&#xff0c…

Android12之执行adb disable-verity后android无法启动(一百五十六)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

前沿应用丨大规模无人机集群与“虚实结合”半实物仿真系统

一、应用背景 无人机集群在军事、安全、救援、航空监测、物流配送等领域具有广泛的应用前景。它可以提高任务执行的效率、灵活性和安全性&#xff0c;同时降低人力资源的需求和风险&#xff0c;无人机集群研究涉及多个学科领域&#xff0c;如机器人学、控制理论、通信技术和人工…

Verilog | 基4 booth乘法器

上接乘法器介绍 原理 跟基2的算法一样&#xff0c;假设A和B是乘数和被乘数&#xff0c;且有&#xff1a; A ( a 2 n 1 a 2 n ) a 2 n − 1 a 2 n − 2 … a 1 a 0 ( a − 1 ) B b 2 n − 1 b 2 n − 2 … b 1 b 0 \begin{align}A&(a_{2n1}a_{2n})a_{2n−1}a_{2n−2}……

【ARIMA-LSTM】合差分自回归移动平均方法-长短期记忆神经网络研究(Python代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

基于Nginx1.22+PHP8+MySQL8安装Discuz! X3.5

基于Nginx1.22PHP8MySQL8安装Discuz! X3.5 1. 安装PHP82. 安装MySQL83. 配置Nginx1.224. 安装Discuz! X3.5 1. 安装PHP8 更新系统&#xff1a; yum update安装EPEL存储库&#xff1a; yum install epel-release安装Remi存储库&#xff08;提供了最新的 PHP 版本&#xff09;&…

阿里云主机详解:ECS/轻量/虚拟主机/GPU/裸金属/云电脑详解

阿里云云主机分为云虚拟主机、云服务器ECS、轻量应用服务器、GPU云服务器、弹性裸金属服务器、专有宿主机、FPGA云服务器、高性能计算E-HPC、无影云电脑等&#xff0c;阿里云百科来详细说下阿里云云主机详解&#xff1a; 目录 阿里云云主机 云服务器ECS 轻量应用服务器 云…

python数字猜谜2.0

改进了一下数字猜谜&#xff1a; 开头&#xff0c;可选等级&#xff1a; import random guess -1 c 0 print("数字猜谜游戏&#xff01;") n input("选择等级 A B C&#xff1a;") if (n "A") or (n "a"):guess random.randint…

学习css样式的第二章

1.CSS 布局 - display 属性 display 属性是用于控制布局的最重要的 CSS 属性。 display 属性 display 属性规定是否/如何显示元素。 每个 HTML 元素都有一个默认的 display 值&#xff0c;具体取决于它的元素类型。大多数元素的默认 display 值为 block 或 inline 块级元素…

JavaEE课程设计——校园招聘管理系统(vue框架分析)

目录 Vue架构 登录 Vue架构 前端执行命令 npm run serve 这是整个前端的目录结构 vue.config.js是对前端vue的一个配置&#xff0c; // var webpack require(webpack); const path require(path)function resolve(dir) {return path.join(__dirname, dir) }function pu…

centos下的Nginx的安装

1.Nginx简介 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件&#xff08;IMAP/POP3&#xff09;代理服务器。其特点是占有内存少&#xff0c;并发能力强。 其他服务器介绍&#xff1a;Apache服务器、Tomcat服务器、Lighttpd服务器 2.nginx依赖安装 yum -y instal…

【数据分享】1929-2022年全球站点的逐月平均海平面压力数据(Shp\Excel\12000个站点)

气象数据是在各项研究中都经常使用的数据&#xff0c;气象指标包括气温、风速、降水、能见度等指标&#xff0c;说到气象数据&#xff0c;最详细的气象数据是具体到气象监测站点的数据&#xff01; 对于具体到监测站点的气象数据&#xff0c;之前我们分享过1929-2022年全球气象…

Opencv-C++笔记 (9) : opencv-多通道分离和合并

文章目录 一、概论二、多通道分离函数split()三、多通道合并函数merge()四、图像多通道分离与合并例程 一、概论 在图像颜色模型中不同的分量存放在不同的通道中&#xff0c;如果我们只需要颜色模型的某一个分量&#xff0c;例如只需要处理RGB图像中的红色通道&#xff0c;可以…

数据结构与算法之堆排序

目录 堆排序概述代码实现时间复杂度堆排序概述 堆排序(Heap Sort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。…

基于SSM的电影院购票系统开源啦

大家好&#xff0c;今天给大家带来一款SSM的电影院售票系统&#xff0c;非常不错的一个项目&#xff0c;学习javaweb编程必备。 下载地址在文末 1.SpringMVC Spring MVC属于SpringFrameWork的后续产品&#xff0c;已经融合在Spring Web Flow 里面。Spring 框架提供了构建 Web …

香橙派4 2. 驱动usb2.0芯片cy7c68013

0. 环境 - 香橙派4&#xff08;Orangepi4_2.1.2_ubuntu_bionic_desktop_linux4.4.179.img&#xff09; - EZ-USB FX2LP CY7C68013A USB 核心板 1. 下载FX3_SDK_1.3.4_linux EZ-USB™ FX3 Software Development Kit https://www.infineon.com/cms/en/design-support/tools/sdk…

实时在线云消费机、考勤门禁控制器、网络读卡器服务端C# Socket源码

消费机UDP通讯协议介绍&#xff1a; 设备向服务器发送的指令格式&#xff0c;每个字段用半角逗号(,)分隔。序号指令名称指令格式指令说明示例1响应服务器的搜索100,包序列号,终端IP,子网掩码,网关IP,远程电脑主机IP,端口号,终端硬件号响应电脑发出的搜寻局域网内所有终端设备指…