一、连接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;