一、連接mysql數據庫
- 在對數據庫連接之前,首先必須要配置環境變量
連接數據庫命令:mysql -hlocalhost -uroot -p;
出現以下界面表示連接成功:
設置密碼命令:set password = password('密碼');
空置密碼命令:set password = password('密碼');
二、對數據庫的操作
數據庫基本操作
查看所有數據庫 SHOW DATABASES;
創建數據庫 CREATE DATABASE 庫名;
刪除數據庫 DROP DATABESE (IF EXITS)庫名;
數據庫備份
導出:
->mysqldump -u root -p 庫名>要導出到的路徑;
->mysqldump -u root -p shop>d:\shop.sql
導入:
連接數據庫-建庫-建完退出執行一下命令
->mysql -u root -p shop<d:\shop.sql
三、對錶的操作
創建據表:
CREATE TABLE(IF NOT EXISTS)表名{
字段名1 字段類型[列的完整性約束],
字段名2 字段類型[列的完整性約束],
...
}ENGINE = MUISAM DEFAULT CHARSET = utf8;
修改表名:ALTER TABLE 原表名 RENAME 新表名
刪除表: DROP TABLE (IF EXISTS)表名
;
DROP TABLE 表名1,表名2...
查看建表語句: SHOW CREATE TABLE 表名\G(表示以完整的格式顯示);
備份數據表:CREATE TABLE 要備份的表名 SELECT*FROM 原表名;
注意:不能備份主鍵、以及自增和字符集。
四、對字段的操作
插入數據:
1) 插入單條數據: INSERT INTO 表名 (字段1,字段2,字段3...) VALUE(值1,值2,值3...);
mysql> INSERT INTO stu(`id`,`name`,`age`,`sex`)VALUE(1,'Ben',21,'M');
2) 插入多條數據: INSERT INTO 表名 (字段1,字段2,字段3...)VALUES(值1,值2,值3)...;
mysql> INSERT INTO stu(`id`,`name`,`age`,`sex`)VALUES(1,'Ben',21,'M'),(2,'Tom',22,'M');
注意:插入數據時,字段可以省略不寫.
刪除數據:
格式: DELETE FROM 表名 WHERE 條件;
mysql> DELETE FROM stu WHERE id = 15;
mysql> DELETE FROM stu WHERE id < 20 or id >50;
mysql> DELETE FROM stu WHERE id = 15 and id = 8;
mysql> DELETE FROM stu WHERE id between 1 and 10;
修改數據:
格式: UPDATE 表名 SET 字段='新值' WHERE 條件;
1)修改單條數據:
mysql> UPDATE stu SET name = 'Daben' WHERE id = 8;
2)批量修改數據:
mysql> UPDATE stu SET sex = 'W' WHERE id in(1,2,5,8);`
mysql> UPDATE stu SET sex = 'W' WHERE id > 5 AND id < 10;
查詢數據:
- 普通查詢:
格式:
查詢單個字段:SELECT 字段 FROM 表名;
查詢多個字段:SELECT 字段1,字段2... FROM 表名;
- 特殊查詢
1 . 條件查詢 WHERE
SELECT * FROM stu WHERE name = 'ma';
SELECT * FROM stu WHERE name = 'ma' AND name = 'wang' AND sex = 'm';
SELECT * FROM stu WHERE name = 'ma' OR name = 'wang' AND sex = 'm';
SELECT * FROM stu WHERE name IN ('ma','wang') AND sex = 'm';
2 . 起名查詢 AS
SELECT name AS 姓名, age AS 年齡 FROM stu;
SELECT nanme 姓名, age 年齡 FROM stu;
3 . 追加字段查詢
SELECT *, 'apple' AS fruit FROM stu;
4 . 去重複查詢 DISTINCT
SELECT DISTINCT classid FROM stu;
5 . 模糊查詢 LIKE
SELECT * FROM stu WHERE name LIKE '__';
SELECT * FROM stu WHERE name LIKE '%ma';
SELECT * FROM stu WHERE name LIKE 'ma%';
6 . 正則查詢 REGEX
SELECT * FROM stu WHERE name REGEX '[0-9a-zA-Z]{6,18}';
7 . 排序查詢 ORDER BY
SELECT * FROM stu ORDER BY age;(默認升序)
SELECT * FROM stu ORDER BY age ASC;
SELECT * FROM stu ORDER BY age DESC;
8 . 分頁查看 LIMIT
SELECT * FROM stu LIMIT 0,5;
SELECT * FROM stu LIMIT 5,5;
SELECT * FROM stu LIMIT 10,5;