国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

真正能約拍的app做好的網(wǎng)站怎么優(yōu)化

真正能約拍的app,做好的網(wǎng)站怎么優(yōu)化,創(chuàng)建吃的網(wǎng)站怎么做,怎樣給網(wǎng)站做優(yōu)化MySQL 一、INSERT語句二、REPLACE語句三、UPDATE語句四、delete和TRUNCATE語句五、MySQL用戶授權1、密碼策略2、用戶授權和撤銷授權 一、INSERT語句 #在表里面插入數(shù)據(jù):默認情況下,一次插入操作只插入一行 方式1: INSERT [INTO] 表名 [(colu…

MySQL

    • 一、INSERT語句
    • 二、REPLACE語句
    • 三、UPDATE語句
    • 四、delete和TRUNCATE語句
    • 五、MySQL用戶授權
      • 1、密碼策略
      • 2、用戶授權和撤銷授權

一、INSERT語句

#在表里面插入數(shù)據(jù):默認情況下,一次插入操作只插入一行
方式1:
INSERT [INTO] 表名 [(column [, column...])] VALUES(value [, value...]);
方式2:
insert [into] 表名 set 字段1=值1, 字段2=值2
#一次性插入多條記錄:
INSERT [INTO] table [(column [, column...])] VALUES(value [, value...]),(value [, value...])	
注:
1、如果為每列都指定值,則表名后不需列出插入的列名
2、可以使用如下方式一次插入多行:insert into 表名[(列名,…)] select 語句	
3、如果需要插入其他特殊字符,應該采用\轉義字符做前綴
示例:
mysql8.0 [chap04]>create table t1(-> id int primary key,-> name char(30) not null,-> birthday date-> );

在這里插入圖片描述

mysql8.0 [chap04]>insert t1 values (1,'xiaoming',20000101);
mysql8.0 [chap04]>insert into t1 values (2,'xiaohong',20000102),(3,'xiaolan',20000103),(4,'xiaohei',20000104);
mysql8.0 [chap04]>insert into t1(id,name) values (5,'xiaolv'),(6,'xiaobai');
mysql8.0 [chap04]>insert into t1 set id=6,name='xiaozi';

在這里插入圖片描述
在這里插入圖片描述

二、REPLACE語句

replace語句的語法格式有三種語法格式。
語法格式1:replace [into] 表名 [(字段列表)] values (值列表)
語法格式2:replace [into] 目標表名[(字段列表1)] select (字段列表2) from 源表 where 條件表達式
語法格式3:replace [into] 表名 set 字段1=值1, 字段2=值2

REPLACE與INSERT語句區(qū)別:

replace語句的功能與insert語句的功能基本相同,不同之處在于:使用replace語句向表插入新記錄時,如果新記錄的主鍵值或者唯一性約束的字段值與已有記錄相同,則已有記錄先被刪除(注意:已有記錄刪除時也不能違背外鍵約束條件),然后再插入新記錄。

使用replace的最大好處就是可以將delete和insert合二為一(效果相當于更新),形成一個原子操作,這樣就無需將delete操作與insert操作置于事務中了

mysql> replace into class values(2,'02班');
ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`db1`.`student`, CONSTRAINT `student_ibfk_1` FOREIGN KEY (`c_num`) REFERENCES `class` (`cnum`))
mysql> replace into class values(3,'03班');
Query OK, 2 rows affected (0.01 sec)mysql8.0 [chap04]>replace t1 (id,name,birthday) values (8,'xiaoqing',20010101);
mysql8.0 [chap04]>replace t1 values(5,'xiaolv',20000105);
mysql8.0 [chap04]>select * from t1;
+----+----------+------------+
| id | name     | birthday   |
+----+----------+------------+
|  1 | xiaoming | 2000-01-01 |
|  2 | xiaohong | 2000-01-02 |
|  3 | xiaolan  | 2000-01-03 |
|  4 | xiaohei  | 2000-01-04 |
|  5 | xiaolv   | 2000-01-05 |
|  6 | xiaobai  | NULL       |
|  7 | xiaozi   | NULL       |
|  8 | xiaoqing | 2001-01-01 |
+----+----------+------------+
mysql8.0 [chap04]>replace t1(id,name,birthday) values (9,'zhouyi',20010102),(10,'zhouer',20010102);

在這里插入圖片描述
在這里插入圖片描述

三、UPDATE語句

UPDATE 表名
SET column = value [, column = value] 
[WHERE condition];

修改可以一次修改多行數(shù)據(jù),修改的數(shù)據(jù)可用where子句限定,where子句里是一個條件表達式,只有符合該條件的行才會被修改。沒有where子句意味著where字句的表達式值為true。也可以同時修改多列,多列的修改中間采用逗號(,)隔開。

mysql8.0 [chap04]>select * from t1;
+----+----------+------------+
| id | name     | birthday   |
+----+----------+------------+
|  1 | xiaoming | 2000-01-01 |
|  2 | xiaohong | 2000-01-02 |
|  3 | xiaolan  | 2000-01-03 |
|  4 | xiaohei  | 2000-01-04 |
|  5 | xiaolv   | 2000-01-05 |
|  6 | xiaobai  | NULL       |
|  7 | xiaozi   | NULL       |
|  8 | xiaoqing | 2001-01-01 |
|  9 | zhouyi   | 2001-01-02 |
| 10 | zhouer   | 2001-01-02 |
+----+----------+------------+
10 rows in set (0.00 sec)mysql8.0 [chap04]>update t1 set birthday=20010101 where id=6;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

在這里插入圖片描述

四、delete和TRUNCATE語句

DELETE FROM table_name [where 條件];
TRUNCATE TABLE table_name事物處理
beign;
delete from t1;
select * from t1;
rollback;

DROP、TRUNCATE、DELETE的區(qū)別:

  • delete:刪除數(shù)據(jù),保留表結構,可以回滾,如果數(shù)據(jù)量大,很慢。

  • truncate: 刪除所有數(shù)據(jù),保留表結構,不可以回滾,一次全部刪除所有數(shù)據(jù),速度相對很快。

  • drop: 刪除數(shù)據(jù)和表結構,刪除速度最快。

mysql8.0 [chap04]>delete from t1 where id=7;
Query OK, 1 row affected (0.00 sec)
mysql8.0 [chap04]>create table t2 select * from t1;
mysql8.0 [chap04]>truncate table t2;

在這里插入圖片描述
在這里插入圖片描述

五、MySQL用戶授權

1、密碼策略

#mysql8.0會生成臨時密碼,查看臨時密碼
[root@mysql8-0-30 ~]# awk '/temporary password/ {print $NF}' /var/log/mysqld.log
[root@mysql8-0-30 ~]# grep 'password' /var/log/mysqld.log
#查看數(shù)據(jù)庫當前密碼策略:
mysql8.0 [chap03]>show VARIABLES like "%password%";

在這里插入圖片描述

2、用戶授權和撤銷授權

MySql8有新的安全要求,不能像之前的版本那樣一次性創(chuàng)建用戶并授權。需要先創(chuàng)建用戶,再進行授權操作。

mysql8.0 [chap03]>grant all privileges on *.* to 'xiaoming'@'%';
ERROR 1410 (42000): You are not allowed to create a user with GRANT

1、創(chuàng)建用戶

#創(chuàng)建新用戶,語法:create user 'username'@'host' identified by 'password';
說明:username為自定義的用戶名,host為客戶端的域名或者IP,如果host為'%'時表示為任意IP,password為密碼。
mysql8.0 [mysql]>create user xiaoming@'%' identified by '123';
mysql8.0 [mysql]>select user,host,authentication_string from mysql.user;
#刪除用戶
mysql8.0 [mysql]>drop user xiaoming@'%';
#注意,如果刪除用戶時顯示如下提示,需要執(zhí)行該語句【mysql8.0 [(none)]>grant system_user on *.* to root@'%';】
mysql8.0 [mysql]>drop user xiaoming;
ERROR 1227 (42000): Access denied; you need (at least one of) the SYSTEM_USER privilege(s) for this operation

2、授權和回收權限

授予權限的原則:

  • (1)只授予能滿足需要的最小權限 ,防止用戶干壞事。比如用戶只是需要查詢,那就只給 select 權限就可以了,不要給用戶賦予update 、 insert 或者 delete 權限
  • (2)創(chuàng)建用戶的時候限制用戶的登錄主機 ,一般是限制成指定 IP 或者內網(wǎng) IP 段。
  • (3)為每個用戶設置滿足密碼復雜度的密碼 。
  • (4)定期清理不需要的用戶 ,回收權限或者刪除用戶。
#查看授予用戶的權限
mysql8.0 [mysql]>show grants;
mysql8.0 [mysql]>show grants for root@'%';
mysql8.0 [mysql]>select * from mysql.user;
#查看某個用戶從哪個服務器ip地址連接對某個數(shù)據(jù)庫的操作權限,這三個字段的組合構成了db表的主鍵。
mysql8.0 [mysql]>select * from mysql.db;
#查看用戶對單個表的權限
mysql8.0 [mysql]>select * from mysql.tables_priv;

授權語法:grant 權限列表 on 庫名.表名 to 用戶名@'主機' [with GRANT option];

mysql用戶常用權限列表說明
all 或者all privileges授予用戶所有權限
create授予用戶創(chuàng)建新數(shù)據(jù)庫和表的權限
drop授予用戶刪除數(shù)據(jù)庫和表的權限
delete授予用戶刪除表中的行的權限
alter授予用戶修改表結構的權限
insert授予用戶在表中插入行(add)的權限
select授予用戶運行select命令以從表中讀取數(shù)據(jù)的權限
update授予用戶更新表中的數(shù)據(jù)的權限
mysql8.0 [mysql]>grant all privileges on *.* to 'xiaoming'@'%' with grant option;
mysql8.0 [mysql]>flush privileges;
#說明:*.*中第一個*表示所有數(shù)據(jù)庫,第二個*表示所有數(shù)據(jù)表;with grant option表示授予xiaoming用戶grant命令(該命令可以給別的用戶授權)的權限
mysql8.0 [mysql]>select user,grant_priv from mysql.user;
+------------------+------------+
| user             | grant_priv |
+------------------+------------+
| root             | Y          |
| xiaoming         | Y          |
| mysql.infoschema | N          |
| mysql.session    | N          |
| mysql.sys        | N          |
+------------------+------------+
mysql8.0 [mysql]>create user xiaohong@'%' identified by '123';
Query OK, 0 rows affected (0.01 sec)mysql8.0 [mysql]>select select_priv,user from mysql.user;
+-------------+------------------+
| select_priv | user             |
+-------------+------------------+
| Y           | root             |
| N           | xiaohong         |
| Y           | xiaoming         |
| Y           | mysql.infoschema |
| N           | mysql.session    |
| N           | mysql.sys        |
+-------------+------------------+
6 rows in set (0.00 sec)mysql8.0 [mysql]>grant select on mysql.user to xiaohong@'%';
mysql8.0 [mysql]>select * from tables_priv;
+-----------+-------+---------------+------------+--------------------+---------------------+------------+-------------+
| Host      | Db    | User          | Table_name | Grantor            | Timestamp           | Table_priv | Column_priv |
+-----------+-------+---------------+------------+--------------------+---------------------+------------+-------------+
| %         | mysql | xiaohong      | user       | xiaoming@localhost | 2023-02-08 00:56:32 | Select     |             |
| localhost | mysql | mysql.session | user       | boot@              | 2023-02-05 18:30:53 | Select     |             |
| localhost | sys   | mysql.sys     | sys_config | root@localhost     | 2023-02-05 18:30:53 | Select     |             |
+-----------+-------+---------------+------------+--------------------+---------------------+------------+-------------+
mysql8.0 [mysql]>select * from db where user='xiaohong';
+------+--------+----------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
| Host | Db     | User     | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Create_tmp_table_priv | Lock_tables_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Execute_priv | Event_priv | Trigger_priv |
+------+--------+----------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
| %    | chap03 | xiaohong | Y           | N           | N           | N           | N           | N         | N          | N               | N          | N          | N                     | N                | N                | N              | N                   | N                  | N            | N          | N            |
+------+--------+----------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
mysql8.0 [mysql]>show grants for xiaohong@'%';
+--------------------------------------------------+
| Grants for xiaohong@%                            |
+--------------------------------------------------+
| GRANT USAGE ON *.* TO `xiaohong`@`%`             |
| GRANT SELECT ON `chap03`.* TO `xiaohong`@`%`     |
| GRANT SELECT ON `mysql`.`user` TO `xiaohong`@`%` |
+--------------------------------------------------+
#usage:連接(登錄)權限,建立一個用戶,就會自動授予usage權限(默認授予)。該usage權限并不能被revoke(回收)。#收回權限(不包含賦權權限)
REVOKE ALL PRIVILEGES ON *.* FROM username;
#收回賦權權限
REVOKE GRANT OPTION ON *.* FROM username;
mysql8.0 [(none)]>revoke grant  option on *.*  from xiaoming@'%';
Query OK, 0 rows affected (0.00 sec)mysql8.0 [(none)]>select grant_priv,user from mysql.user;
+------------+------------------+
| grant_priv | user             |
+------------+------------------+
| Y          | root             |
| N          | xiaohong         |
| N          | xiaoming         |
| N          | mysql.infoschema |
| N          | mysql.session    |
| N          | mysql.sys        |
+------------+------------------+
mysql8.0 [(none)]>revoke all on *.* from xiaoming;
#操作完后重新刷新權限
mysql8.0 [(none)]>flush privileges;
mysql8.0 [(none)]>revoke select on mysql.user from xiaohong;
http://aloenet.com.cn/news/47815.html

相關文章:

  • p2p做網(wǎng)站貴州二級站seo整站優(yōu)化排名
  • 機關事業(yè)單位網(wǎng)站備案谷歌瀏覽器下載
  • ibm網(wǎng)站導航特效代碼信息流廣告投放平臺
  • 高端做網(wǎng)站哪家好百度一下官網(wǎng)首頁登錄
  • 臺州網(wǎng)站建設優(yōu)化深圳seo推廣
  • 金華專業(yè)做網(wǎng)站建站推廣
  • 互聯(lián)網(wǎng)金融網(wǎng)站設計百度收錄查詢工具
  • 模型下載網(wǎng)站開發(fā)流程廣州網(wǎng)頁制作
  • 網(wǎng)站建設月總結怎么做百度關鍵詞排名
  • 網(wǎng)站首頁的動態(tài)視頻怎么做的公司seo排名優(yōu)化
  • 給網(wǎng)站做插畫分辨率seo也成搜索引擎優(yōu)化
  • 北京網(wǎng)站建設天下公司網(wǎng)絡營銷品牌
  • 公司怎么建網(wǎng)站做推廣日本疫情最新數(shù)據(jù)
  • 棗莊三合一網(wǎng)站開發(fā)百度安裝應用
  • 實時視頻網(wǎng)站怎么做網(wǎng)站百度推廣
  • 新鄉(xiāng)網(wǎng)站開發(fā)的公司電話在線服務器網(wǎng)站
  • 黃金網(wǎng)站網(wǎng)址免費百度網(wǎng)訊科技有限公司官網(wǎng)
  • 做網(wǎng)站好處小程序制作一個需要多少錢
  • 簡單做網(wǎng)站的價格網(wǎng)頁設計一般用什么軟件
  • 北京網(wǎng)站優(yōu)化排名推廣站長工具網(wǎng)站查詢
  • 個人適合建什么網(wǎng)站廈門seo關鍵詞
  • 垡頭做網(wǎng)站的公司2021年網(wǎng)絡熱點輿論
  • 四川綿陽網(wǎng)站建設百度認證證書
  • 自己做的網(wǎng)站怎么上網(wǎng)百度站長平臺快速收錄
  • 專業(yè)做鞋子網(wǎng)站百度競價排名是什么
  • 中小學學校網(wǎng)站建設seo入門教程seo入門
  • 便宜的網(wǎng)站設計企業(yè)查詢官網(wǎng)入口
  • 遂寧網(wǎng)站開發(fā)廣告軟文小故事800字
  • 做社交網(wǎng)站有哪些全世界足球排名前十位
  • 小程序平臺商城seo搜索引擎優(yōu)化實戰(zhàn)