前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQL 常用语法笔记

SQL 常用语法笔记

作者头像
爱技术的小黄鸭
发布2023-06-15 14:45:27
1870
发布2023-06-15 14:45:27
举报
文章被收录于专栏:IT小圈

简介

SQL语言,是结构化查询语言(Structured Query Language)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。详见 360百科

查询数据库

代码语言:javascript
复制
SHOW DATABASES;

创建数据库,设置字符集为 utf8mb4

代码语言:javascript
复制
CREATE DATABASE IF NOT EXISTS db_name CHARACTER SET = utf8mb4;

查询创建

代码语言:javascript
复制
SHOW CREATE DATABASE db_name;

修改数据库字符集

代码语言:javascript
复制
ALTER DATABASE db_name CHARACTER SET = utf8;
ALTER DATABASE db_name CHARACTER SET = utf8mb4;

删除数据库

代码语言:javascript
复制
DROP DATABASE IF EXISTS db_name;

指定使用数据库

代码语言:javascript
复制
USE db_name;

查看数据表

代码语言:javascript
复制
SHOW TABLES FROM db_name;
SHOW FULL TABLES IN db_name;

查看数据表结构

代码语言:javascript
复制
DESC db_name.tbl_name;

查看数据表

代码语言:javascript
复制
SELECT * FROM db_name.tbl_name;

直接查看表

代码语言:javascript
复制
mysql  -u  root  -p  table_name  -e  “command;”

创建数据表

代码语言:javascript
复制
CREATE [ TEMPORARY ] TABLE [ IF NOT EXISTS ] tbl_name(
                col_name column_definition,
                   col_name column_definition,
                col_name column_definition,
                ...
)
[table_options];

创建用户

代码语言:javascript
复制
CREATE USER IF NOT EXISTS user_name IDENTIFIED BY 'password';

删除用户

代码语言:javascript
复制
DROP USER user_name;

查看用户信息

代码语言:javascript
复制
SELECT Host,User,Password from mysql.user;

修改用户密码

代码语言:javascript
复制
5.7.6 之前:SET PASSWORD FOR user_name = PASSWORD('new_password');
5.7.6 之后:ALTER USER user_name  IDENTIFIED BY 'new_password';
````
----------

**数据库授权( ALL 所有权限;SELECT 查询;INSERT 插入;UPDATE 更新;DELETE 删除)**
GRANT 权限 ON 数据库对象 TO 用户
(1) GRANT 权限 ON 数据库.表单名称 TO [email protected]/* <![CDATA[ */!function(t,e,r,n,c,a,p,m,o){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-yjshash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-yjsemail')){for(e='',o=0,r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2){m=('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);if((a.length-n)<=6&&a.length>=128)o=(parseInt(m)<=191)?1:o*2;if(o>1)break;e+='%'+m;}p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */      //对某个特定数据库中的特定表单给予授权
(2) GRANT 权限 ON 数据库.* TO [email protected]/* <![CDATA[ */!function(t,e,r,n,c,a,p,m,o){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-yjshash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-yjsemail')){for(e='',o=0,r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2){m=('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);if((a.length-n)<=6&&a.length>=128)o=(parseInt(m)<=191)?1:o*2;if(o>1)break;e+='%'+m;}p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */    //对某个特定数据库中的所有表单给予授权
(3) GRANT 权限1,权限2 ON 数据库.* TO [email protected]/* <![CDATA[ */!function(t,e,r,n,c,a,p,m,o){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-yjshash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-yjsemail')){for(e='',o=0,r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2){m=('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);if((a.length-n)<=6&&a.length>=128)o=(parseInt(m)<=191)?1:o*2;if(o>1)break;e+='%'+m;}p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */     //对某个数据库中的所有表单给予多个授权
(4) GRANT ALL PRIVILEGES ON *.* TO [email protected]/* <![CDATA[ */!function(t,e,r,n,c,a,p,m,o){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-yjshash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-yjsemail')){for(e='',o=0,r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2){m=('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);if((a.length-n)<=6&&a.length>=128)o=(parseInt(m)<=191)?1:o*2;if(o>1)break;e+='%'+m;}p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */     //对所有数据库及所有表单给予全部授权(需谨慎操作)

**刷新权限**

FLUSH PRIVILEGES;

代码语言:javascript
复制
**撤销授权**

    REVOKE 权限 ON 数据库 FROM [email protected]/* <![CDATA[ */!function(t,e,r,n,c,a,p,m,o){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-yjshash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-yjsemail')){for(e='',o=0,r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2){m=('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);if((a.length-n)<=6&&a.length>=128)o=(parseInt(m)<=191)?1:o*2;if(o>1)break;e+='%'+m;}p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */;

**查看权限**

    自己:SHOW GRANTS;
    某个用户: SHOW GRANTS  FOR [email protected]/* <![CDATA[ */!function(t,e,r,n,c,a,p,m,o){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-yjshash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-yjsemail')){for(e='',o=0,r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2){m=('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);if((a.length-n)<=6&&a.length>=128)o=(parseInt(m)<=191)?1:o*2;if(o>1)break;e+='%'+m;}p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */;


----------


**修改数据表**
修改表名:`ALTER TABLE tbl_name RENAME [ TO|AS ] new_tbl_name`
添加列:`ALTER TABLE tbl_name ADD [ COLUMN ] (col_name column_definition,...)`
删除列:`ALTER TABLE tbl_name DROP [ COLUMN ] col_name`
修改数据类型:`ALTER TABLE tbl_name ALTER [ COLUMN ] col_name {SET DEFAULT literal | DROP DEFAULT}`
修改列定义:`ALTER TABLE tbl_name CHANGE [ COLUMN ] old_col_name new_col_name column_definition`
更新字段:`UPDATE `tbl_name` SET `col_name`=’String’ WHERE `col_name`=’String’;`
删表:`DELETE  from tabl_name;`
清空表: `TRUNCATE  table tbl_name;`


----------


**数据备份**
(1) 直接备份数据目录(完整备份)

 *备份完成既定修改目录所属组,所有者,否则mysql无法启动*
     
(2) mysqldump 客户端备份工具

备份数据或数据库中的一个或多个表 `mysqldump [ options ] db_name [tbl_name ...]`

备份一个或多个数据库 `mysqldump [ options ] --databases db_name ...`

备份所有数据库 `mysqldump [ options ] --all-databases`

**实列:**

mysqldump -u root --databases database_name > file_name.sql

代码语言:javascript
复制
**还原数据库**

mysql -u root -p database_name < file_name.sql

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-06-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档