1. 程式人生 > >Mysql 基礎語法

Mysql 基礎語法

mysql

數據庫基本語法:
DDL:Data Defination Lanuage: 數據定義語言
    CREATE, ALTER, DROP
DML:Data Manapulate Language: 數據操作語言
    INSERT, REPLACE, UPDATE, DELETE
DCL:Data Control Language: 數據控制語言
    GRANT, REVOKE
常用命令:
mysql命令不區分大小寫 這些是基本常識
DDL 
    CREATE
    ALTER
    DROP
DML 操縱語言
    INSERT
    UPDATE
    DELETE
DCL 控制語言
    GRANT
    REVOKE
第一篇 DDL 庫和表 create alter drop
mysql> create database mydb;
Query OK, 1 row affected (0.01 sec)
mysql> use mydb;
Database changed
mysql> show tables;
Empty set (0.00 sec)
mysql> create table students (id char(20),name char(20),age char(10),score char(10)); 建表並添加4個字段和字段的類型
Query OK, 0 rows affected (0.10 sec)
mysql> show tables;
+----------------+
| Tables_in_mydb |
+----------------+
| students       |
+----------------+
1 row in set (0.00 sec)
mysql> create table teachers as select * from students; 建立教師表,字段同學生表
Query OK, 0 rows affected (0.02 sec) 
Records: 0  Duplicates: 0  Warnings: 0
mysql> show tables;
+----------------+
| Tables_in_mydb |
+----------------+
| students       |
| teachers       |
+----------------+
2 rows in set (0.00 sec)
mysql> desc students;
mysql> desc teachers;
+-------+----------+------+-----+---------+-------+
| Field | Type     | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| id    | char(20) | YES  |     | NULL    |       |
| name  | char(20) | YES  |     | NULL    |       |
| age   | char(10) | YES  |     | NULL    |       |
| score | char(10) | YES  |     | NULL    |       |
+-------+----------+------+-----+---------+-------+
mysql> alter table teachers add subject varchar(100); 添加字段
Query OK, 0 rows affected (0.06 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> desc teachers;
+---------+--------------+------+-----+---------+-------+
| Field   | Type         | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+-------+
| id      | char(20)     | YES  |     | NULL    |       |
| name    | char(20)     | YES  |     | NULL    |       |
| age     | char(10)     | YES  |     | NULL    |       |
| score   | char(10)     | YES  |     | NULL    |       |
| subject | varchar(100) | YES  |     | NULL    |       |
+---------+--------------+------+-----+---------+-------+
mysql> alter table teachers drop score; 刪除字段
Query OK, 0 rows affected (0.05 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> desc teachers;
+---------+--------------+------+-----+---------+-------+
| Field   | Type         | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+-------+
| id      | char(20)     | YES  |     | NULL    |       |
| name    | char(20)     | YES  |     | NULL    |       |
| age     | char(10)     | YES  |     | NULL    |       |
| subject | varchar(100) | YES  |     | NULL    |       |
+---------+--------------+------+-----+---------+-------+
mysql> alter table teachers change id teacherid char(30); 修改字段名,用change
Query OK, 0 rows affected (0.06 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> desc teachers;
+-----------+--------------+------+-----+---------+-------+
| Field     | Type         | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+-------+
| teacherid | char(30)     | YES  |     | NULL    |       |
| name      | char(20)     | YES  |     | NULL    |       |
| age       | char(10)     | YES  |     | NULL    |       |
| subject   | varchar(100) | YES  |     | NULL    |       |
+-----------+--------------+------+-----+---------+-------+
mysql> alter table teachers modify teacherid varchar(5); 修改字段屬性,用modify
Query OK, 0 rows affected (0.02 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> desc teachers;
+-----------+--------------+------+-----+---------+-------+
| Field     | Type         | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+-------+
| teacherid | varchar(5)   | YES  |     | NULL    |       |
| name      | char(20)     | YES  |     | NULL    |       |
| age       | char(10)     | YES  |     | NULL    |       |
| subject   | varchar(100) | YES  |     | NULL    |       |
+-----------+--------------+------+-----+---------+-------+
mysql> drop table teachers; 刪除表,drop table table_name
Query OK, 0 rows affected (0.00 sec)
總結1:
    查看庫中的表:SHOW TABLES FROM db_name;
    查看表的結構:DESC tb_name;
    刪除表:DROP TABLE tb_name;
修改表:
    ALTER TABLE tb_name
        MODIFY 改字段屬性
        CHANGE 改字段名稱
        ADD 添加字段
        DROP 刪除字段
help create table獲取幫助 help alter table
第二篇 DML 數據修改 insert update delete ; select
mysql> insert into students (id,name,age,score) value(‘1‘,‘wxtan‘,‘18‘,‘99‘),(‘2‘,‘yull‘,‘17‘,‘80‘);  增加表內數據,insert into
Query OK, 2 rows affected (0.00 sec)
Records: 2  Duplicates: 0  Warnings: 0
mysql> select * from students;
+------+-------+------+-------+
| id   | name  | age  | score |
+------+-------+------+-------+
| 1    | wxtan | 18   | 99    |
| 2    | yull  | 17   | 80    |
+------+-------+------+-------+
mysql> insert into students value(‘3‘,‘AA‘,‘30‘,‘60‘);  (如果全部字段都添加可以不用寫)
Query OK, 1 row affected (0.00 sec)
mysql> select * from students;
+------+-------+------+-------+
| id   | name  | age  | score |
+------+-------+------+-------+
| 1    | wxtan | 18   | 99    |
| 2    | yull  | 17   | 80    |
| 3    | AA    | 30   | 60    |
+------+-------+------+-------+
mysql> update students set age=14 where id=1; 修改表內數據,update table_name
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0
mysql> select * from students;
+------+-------+------+-------+
| id   | name  | age  | score |
+------+-------+------+-------+
| 1    | wxtan | 14   | 99    |
| 2    | yull  | 17   | 80    |
| 3    | AA    | 30   | 60    |
+------+-------+------+-------+
3 rows in set (0.00 sec)
mysql> update students set age=‘28‘ where name=‘yull‘; 修改表內數據,update table_name
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0
mysql> select * from students;
+------+-------+------+-------+
| id   | name  | age  | score |
+------+-------+------+-------+
| 1    | wxtan | 14   | 99    |
| 2    | yull  | 28   | 80    |
| 3    | AA    | 30   | 60    |
+------+-------+------+-------+
3 rows in set (0.00 sec)
mysql> select * from students;
+------+-------+------+-------+
| id   | name  | age  | score |
+------+-------+------+-------+
| 1    | wxtan | 14   | 99    |
| 2    | yull  | 28   | 80    |
| 5    | bb    | 44   | 55    |
| 6    | cc    | 44   | 60    |
+------+-------+------+-------+
4 rows in set (0.00 sec)
mysql> delete from students where age=‘44‘; 刪除表內數據,delete from
Query OK, 2 rows affected (0.00 sec)
mysql> select * from students;
+------+-------+------+-------+
| id   | name  | age  | score |
+------+-------+------+-------+
| 1    | wxtan | 14   | 99    |
| 2    | yull  | 28   | 80    |
+------+-------+------+-------+
mysql> delete from students where age=‘14‘ or score=‘80‘; 可以用or and等條件表達式
Query OK, 2 rows affected (0.00 sec)
mysql> select * from students;
Empty set (0.00 sec)
mysql> select * from students; 數據查詢,select from
+------+--------+------+-------+
| id   | name   | age  | score |
+------+--------+------+-------+
| 1    | apple  | 20   | 88    |
| 3    | xigua  | 10   | 50    |
| 2    | banana | 30   | 68    |
+------+--------+------+-------+
3 rows in set (0.00 sec)
mysql> select id,name from students;
+------+--------+
| id   | name   |
+------+--------+
| 1    | apple  |
| 3    | xigua  |
| 2    | banana |
+------+--------+
3 rows in set (0.00 sec)
mysql> select id,name from students where age=20;
+------+-------+
| id   | name  |
+------+-------+
| 1    | apple |
+------+-------+
1 row in set (0.00 sec)
第三篇 DCL 權限 grant revoke;show grants for
mysql> grant select,insert,update on mydb.students to [email protected]
/* */%‘ identified by ‘123‘; 給權限到某表,授予某賬戶(賬戶不存在則創建) mysql> flush privileges; 刷新權限 [[email protected] mysql]# mysql -uwxtan2 -p123 -h192.168.8.104 從192.168.8.%進入數據庫 Welcome to the MariaDB monitor. MySQL [mydb]> select * from students; +------+--------+------+-------+ | id | name | age | score | +------+--------+------+-------+ | 1 | apple | 20 | 88 | | 3 | xigua | 10 | 50 | | 2 | banana | 30 | 68 | +------+--------+------+-------+ 3 rows in set (0.00 sec) MySQL [mydb]> insert into students value(‘4‘,‘guapi‘,‘40‘,‘50‘); 有insert權限 Query OK, 1 row affected (0.02 sec) MySQL [mydb]> update students set name=‘apple222‘ where id=‘1‘; 有update權限 Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 MySQL [mydb]> select * from students; +------+----------+------+-------+ | id | name | age | score | +------+----------+------+-------+ | 1 | apple222 | 20 | 88 | | 3 | xigua | 10 | 50 | | 2 | banana | 30 | 68 | | 4 | guapi | 40 | 50 | +------+----------+------+-------+ 4 rows in set (0.00 sec) MySQL [mydb]> delete from students where name=‘banana‘; 沒有delete權限 ERROR 1142 (42000): DELETE command denied to user [email protected]
/* */ for table ‘students‘ mysql> revoke update on mydb.students from [email protected]%‘; 回收update權限 mysql> flush privileges; MySQL [mydb]> update students set name=‘apple545‘ where id=‘1‘; 發現無法執行update命令 ERROR 1142 (42000): UPDATE command denied to user [email protected] for table ‘students‘ MySQL [mydb]> insert into students value(‘6‘,‘guapi‘,‘40‘,‘50‘); insert命令不受影響 Query OK, 1 row affected (0.00 sec) MySQL [mydb]> select * from students; select命令不受影響 +------+----------+------+-------+ | id | name | age | score | +------+----------+------+-------+ | 1 | apple555 | 20 | 88 | | 3 | xigua | 10 | 50 | | 2 | banana | 30 | 68 | | 4 | guapi | 40 | 50 | | 6 | guapi | 40 | 50 | +------+----------+------+-------+ mysql> show grants for [email protected]
/* */%‘; 查詢用戶的權限命令;usage表示只有使用權 +-----------------------------------------------------------------------------------------------------------------+ | Grants for [email protected]% | +-----------------------------------------------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO [email protected]%‘ IDENTIFIED BY PASSWORD ‘*23AE809DDACAF96AF0FD78ED04B6A265E05AA257‘ | | GRANT SELECT, INSERT ON `mydb`.`students` TO [email protected]%‘ | +-----------------------------------------------------------------------------------------------------------------+ mysql> grant all privileges on mydb.students to [email protected]%‘ identified by ‘123456‘; 給所有權限,並修改密碼 Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) 第四篇 修改數據庫默認密碼 /etc/init.d/mysql stop (service mysqld stop ) /usr/bin/mysqld_safe --skip-grant-tables 另外開個SSH連接 [[email protected] ~]# mysql mysql>use mysql; mysql>update user set password=password("123456") where user="root"; mysql>flush privileges; mysql>exit CTRL+Z 終止進程 [[email protected] ~]# jobs [1]+ Stopped mysqld_safe --skip-grant-tables [[email protected] ~]# kill %1 [[email protected] ~]# service mysqld start Starting MySQL SUCCESS! 方法1: 用SET PASSWORD命令 首先登錄MySQL。 格式:mysql> set password for [email protected] = password(‘新密碼‘); 例子:mysql> set password for [email protected] = password(‘123‘); 方法2:用mysqladmin 格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼 例子:mysqladmin -uroot -p123456 password 123 方法3:用UPDATE直接編輯user表 首先登錄MySQL。 mysql> use mysql; mysql> update user set password=password(‘123‘) where user=‘root‘ and host=‘localhost‘; mysql> flush privileges; 方法4:在忘記root密碼的時候,可以這樣 以windows為例: 1. 關閉正在運行的MySQL服務。 2. 打開DOS窗口,轉到mysql\bin目錄。 3. 輸入mysqld --skip-grant-tables 回車。--skip-grant-tables 的意思是啟動MySQL服務的時候跳過權限表認證。 4. 再開一個DOS窗口(因為剛才那個DOS窗口已經不能動了),轉到mysql\bin目錄。 5. 輸入mysql回車,如果成功,將出現MySQL提示符 >。 6. 連接權限數據庫: use mysql; 。 6. 改密碼:update user set password=password("123") where user="root";(別忘了最後加分號) 。 7. 刷新權限(必須步驟):flush privileges; 。 8. 退出 quit。 9. 註銷系統,再進入,使用用戶名root和剛才設置的新密碼123登錄。

Mysql 基礎語法

相關推薦

Mysql 基礎語法

mysql數據庫基本語法: DDL:Data Defination Lanuage: 數據定義語言 CREATE, ALTER, DROP DML:Data Manapulate Language: 數據操作語言 INSERT, REPLACE, UPDATE, DELETE DCL:Data

MySQL 基礎語法結構

lte 屬性 where evo 查詢 change utf8 分開 bsp 增、刪、改、查 庫 DATABASE 1,創建數據庫【增】 create database dbname charset utf8; #創建 數據庫 庫名 設置編碼 UTF8

Mysql基礎語法

關閉 admin tex water show com shu roc oss 4.1.修改賬號密碼mysqladmin -u(賬號) -p(密碼) password (需要後的密碼)mysqladmin -uroot -proot password 123456 2.關

資料庫MySQL基礎語法的學習筆記

目錄   1.進入資料庫 2.建立資料庫 3.建立資料表 4.資料型別 5.表的增刪修改操作 6.查詢的擴充套件 7.表的修改、 8.表的複製   1.進入資料庫 找出自己主機資料庫的位置,再使用Dos.指令進入自己主機的資料庫

Linux - mysql基礎語法(李作強)

資料庫的四個特性(ACID): 1)原子性(A):整個事物中的所有操作,要麼完成,要麼全部不完成,不能停留在某個細節,在執行中發生錯誤,會被回滾到事物最開始狀態,就行事物沒發生過一樣。 2)一致性(C):一個事務可以封裝狀態改變,事務必須始終保持系統處於一致的狀態,不管在任何給定的時間併

MySQL基礎語法之三:join語法

join語法:表與表關聯 join 用於多表中欄位之間的聯絡 JOIN 按照功能大致分為如下三類: INNER JOIN(內連線,或等值連線):取得兩個表中存在連線匹配關係的記錄。 LEFT JOIN(左連線):取得左表(table1)完全記錄,即是右表(ta

【若澤大資料MySQL實戰】MySQL基礎語法

MySQL的基本概念database db :資料庫 table : 表 db1:t1, t2, t3 db2:t2, t3, t4 欄位型別整數型:int 小數型:float/double 字元:ch

MySQL基礎操作語法(小白系列)

Mysql基礎操作語法: 以下是我本人看一些視訊自學總結的一些關於資料庫的一些最最基本操作語法,並附上操作截圖以便於理解,都是舉例,沒有貼具體的語法,以便於大家理解,小白系列,請諸位同為菜鳥的小白遷就著看一下,相信對於新手系列還是有一定幫助的。 show database

mysql學習一:基礎語法,對庫操作,對錶操作。

一,mysql安裝內容 1、mysql.exe表示客戶端程式。 2、mysqld.exe表示伺服器端程式。 3、windows命令視窗打services.msc可以開啟檢視所有的服務程式。 二、mysql的開啟,關閉 mysql分文mysql伺服器和mysql客戶端,使用my

Python基礎語法

python行 縮進 字典一、行和縮進 Python與其他語言最大的區別就是,Python的代碼塊不適用大括號{}來控制類,數以及其他邏輯判斷。python 最具特色的就是用縮進來寫模塊。 縮進的空白數量是可變的,但是所有代碼塊語言必選包含相同的縮進空白數量,這個必須嚴格執行。 如下所示:

mysql基礎

code not 修改 字符串 範圍 timestamp 取值 操作 fault 如何讓一個表的時間字段,隨著用戶對該行操作修改時自動更新 `update_time` timestamp NOT NULL ON UPDATE CURRENT_TIMESTAMP DEFAU

[SQL] SQL SERVER基礎語法

取消 implicit 全連接 樹結構 需要 強制 rom lec 多行 Struct Query Language 1.3NF   a.原子性   b.不能數據冗余   c.引用其他表的主鍵 2.約束   a.非空約束   b.主鍵約束   c.唯一約束   d.默認

[JS] javascript基礎語法

原因 方法 間接 war init err ring tag 是否 1.javascript是什麽   js是具有面向對象能力的,解釋性的程序設計語言. 2.js的類型   [基本類型]:string number boolean   [復合類型]:對象(對象,函數,數

php基礎語法

弱類型 打印數組 類型 錯誤 比較 tty 同時 中文 大寫 js是前段腳本語言 php是後端腳本語言 一、所建的文件都要存在wap下的www裏面 二、所有的文件名都不能包含中文 三、通過輸入 localhost/www下的文件名稱,可以瀏覽 四、在DW內新建站點,更改站點

Python 基礎語法

變量名 name python 基礎 line 字符編碼 沒有 一個 col pytho 一  第一個python 程序 1 cmd裏輸入python 下進入交互器(解釋器)下,退出(exit)或者 ctrl + z print("hello world") 2 cmd下輸

Python基礎語法——(引號、字符串)

數值 就會 str 斜線 inpu 數據 自動 兩個 raw 一、單引號字符串和轉義引號   當字符串中出現單引號‘時,我們可以用雙引號""將該字符串引起來:"Let‘s go!"   而當字符串中出現雙引號時,我們可以用單引號‘‘將該字符串引起來:‘ "Hello,wor

SQL DML 基礎語法

per 修改表 ora pda name top delet tab log 1、INSERT INTO 語句 INSERT INTO 語句用於向表格中插入新的行。 語法 INSERT INTO 表名稱 VALUES (值1, 值2,....) 我們也可以指定所要插入數

mysql基礎總結

更新 一個 table 命令 des 文本 found 事務 desc 1、聲明遊標:DECLARE CURSOR 2、使用creat table語句的FULLTEXT子語句,在創建基本表時,可以啟用全文本搜索 3、撤銷數據庫中已經存在的表S,使用:drop table S

正則表達式之一基礎語法2

帶來 環視 str logs 反向引用 內容 零寬斷言 搜索 模式 @6字符邊界---字符位置匹配,不匹配字符,零寬符號---^與字符串開始的地方匹配 在方括號外          ---$與字符串結束的地方匹配                  ---\b 匹配一

kotlin基礎語法

映射 lambda white start 轉換 檢查 posit was tom 1. 包定義 package package my.demo2. 方法定義 fun fun sum(a: Int, b: Int): Int {//定義方法的關鍵字fun;方法名sum;變