MySQL 常用操作
MySQL 許可權等級 由高到底
使用者 --> 資料庫 --> 表 -->列
user --> db --> tables --> columns
使用者
- 如同電腦的使用者,使用資料庫前需要登入使用者;
- 不同的使用者擁有不同的許可權,許可權是可以設定的;
- 超級管理員使用者(root),擁有全部許可權
- 普通使用者,由root建立,普通使用者只擁有root所分配的許可權
#建立、刪除、顯示使用者
mycursor.execute("create user if not exists testuser @'localhost' identified by '12345678'")
#drop user 使用者名稱@'%';
mysql> drop user "test" @"localhost";
mysql> select user,host from mysql.user;
#登入退出
mysql -u 使用者 -p
mysql> exit;
#顯示許可權
mysql> show grants;
mysql> show grants for testuser@localhost;
#授權
#grant 許可權 on 資料庫.表 to 使用者名稱@登入主機 identified by "密碼"; 1042
grant all privileges on TESTDB.* to 'testuser' @'localhost';
grant select,update on TESTDB.* to 'testuser' @'localhost';
#*.* 所有資料庫; @"%"表示對所有非本地主機授權,不包括localhost。
grant select,delete,update,create,drop on *.* to testuser@"%"
mysql> revoke select on TESTDB.* from testuser @'localhost';
#重新整理授權
flush privileges;
資料庫
資料庫的主體,類似電腦的分割槽或資料夾
mysql> create database TESTDB;
mysql> drop database TESTDB;
mysql> show databases;
#Python建立新的資料庫
mydb.cmd_query("create database if not exists TESTDB")
mycursor.execute("create database if not exists TESTDB")
# 檢查資料庫是否存在
# mycursor.execute("SHOW DATABASES")
# for x in mycursor:
# print(x)
表
mysql中把檔案稱為表,用於儲存資料
# 建立表格
mycursor.execute("create table if not exists EMPLOYEE (ID INT AUTO_INCREMENT PRIMARY KEY, FIRST_NAME varchar(255), LAST_NAME varchar(255), AGE int, SEX int, INCOME int)")
SHOW TABLES
//insert
INSERT INTO sites (name, url) VALUES ('name','url')
//select
SELECT * FROM sites
SELECT name, url FROM sites
//where
SELECT * FROM sites WHERE name ='RUNOOB'
//使用萬用字元 %:
SELECT * FROM sites WHERE url LIKE '%oo%'
//排序 預設為升序
SELECT * FROM sites ORDER BY name
//降序排序
SELECT * FROM sites ORDER BY name DESC
//Limit
SELECT * FROM sites LIMIT 3
//指定起始位置,使用的關鍵字是 OFFSET:
SELECT * FROM sites LIMIT 3 OFFSET 1
//刪除記錄
DELETE FROM sites WHERE name = 'stackoverflow'
//更新表資料
UPDATE sites SET name = 'ZH' WHERE name = 'Zhihu'
//刪除表
DROP TABLE IF EXISTS sites
# 主鍵 ADD COLUMN
mycursor.execute("ALTER TABLE sites ADD COLUMN id INT AUTO_INCREMENT PRIMARY KEY")
列
每一列儲存對應的資料,比如姓名列,只儲存使用者的姓名,同一使用者的資料應按照列儲存到同一行,類似表格。
相關文章
- mysql常用操作MySql
- Mysql常用操作記錄MySql
- MySQL 常用的UPDATE操作MySql
- mysql常用的優化操作MySql優化
- MySQL資料庫常用操作MySql資料庫
- MySQL常用操作和主從配置MySql
- MySql常用操作SQL語句彙總MySql
- MySQL資料庫常用操作和技巧MySql資料庫
- Windows平臺下MySQL常用操作與命令WindowsMySql
- MYSQL資料庫常用操作命令節選MySql資料庫
- MySQL資料庫管理的常用操作命令錦集MySql資料庫
- 常用sql 操作SQL
- git常用操作Git
- NumPy常用操作
- DOM常用操作
- Hive 常用操作Hive
- vim常用操作
- 常用git操作Git
- HDFS常用操作
- 常用位操作
- vi常用操作
- git 常用操作Git
- nerdctl 常用操作
- 常用操作 / 資料庫操作資料庫
- KVM的常用操作
- Git 常用基本操作Git
- Clion基本常用操作
- 常用Linux操作Linux
- Go - httpclient 常用操作GoHTTPclient
- Docker常用操作命令Docker
- redis 常用api操作RedisAPI
- Promethues的常用操作
- Docker 常用操作指令Docker
- 【pyspark】dataframe常用操作Spark
- Linux常用操作Linux
- Git:Git常用操作Git
- 常用操作 / 介面返回
- Redis常用操作命令Redis