如何删除安装好的数据库?
-
删除程序。进入控制面板->在程序和功能选项卡中找到 MySQL,右键卸载。
- 删除安装文件夹下的所有内容。找到 MySQL 的安装路径,然后删除路径下所有文件
-
删除注册表。Windows+R 打开运行命令框,输入 regedit 回车,删除以下 3 个地方的
注册文件:-
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL 目录
删除 -
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL 目录
删除 -
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL
目录删除
-
-
最重要的一点:进入 C 盘,选中查看->勾选“隐藏的项目”,然后下面就出来隐藏目
录(ProgramData)了,进入其中,删除 MySQL 文件夹。这样才算是完整卸载干净了,最后就可以重新安装 Mysql 了
SQL(Structured Query Language):结构化查询语言
DDL(数据定义语言):定义和管理数据对象,如数据库、数据表等:CREATE、DROP、ALTER
DML(数据操作语言):用于操作数据库对象中所有包含的数据:INSERT、UPDATE、DELETE
DQL(数据查询语言):用于查询数据库数据:SELECT
DCL(数据控制语言):用来管理数据库的语言,包括管理权限及数据更改:GRANT、COMMIT、ROLLBACK
登录MySQL : mysql -h localhost -u root -p 密码
显示当前所有数据库名:show databases;
使用当前数据库名:use 数据库名;
显示当前数据库下所有数据表:show tables;
显示数据库表结构的详情描述:desc 表名;
查询摸一张数据表的数据:select * from 表名;
创建数据库:create database 数据库名 charset utf8;
复制表(包含数据与结构):CREATE TABLE 新表名 AS SELECT * FROM 已存在表名;
创建数据库表:
create table Commodity(
`字段名` 字段类型(长度) 是否为空 默认值 注释
ID varchar(12) primary key,# primary key表示主键,AUTO_INCREMENT 表示自增
name varchar(20) not null,#not null不为空
manufacture varchar(20) DEFAULT NULL COMMIT '注释',#COMMIT 定义注释内容
price decimal(4,2)#decimal 表示 字符串形式的浮点数
);
修改表(ALTER TABLE)
- 修改表名:ALTER TABLE 旧表名 RENAME AS 新表名
- 添加字段:ALTER TABLE 表名 ADD字段名 列类型
- 修改字段:ALTER TABLE 表名 MODIFY字段名 列类型
- 修改字段二:ALTER TABLE 表名 CHANGE 旧字段名 新字段名 列类型
- 删除字段:ALTER TABLE 表名 DROP 字段名
- 删除 数据表:DROP TABLE [IF EXISTS] 表名
WHERE中的运算符:=等于、<>或!=不等于、>大于、<小于、>=大于等于、<=小于等于、BETWEEN在某个范围之间(包前包后)、AND 并且、OR 或
DELETE FROM 表名[WHERE 条件];delete删除,主键索引从最大的基础上自增;
TRUNCATE [TABLE] 表名;使用truncate删除,表示表的数据与结构都被删除,表都不存在了,(删除的数据块,对事物无影响)
DROP TABLE 表名;使用drop 删除,主键索引重新开始计算
SELETE语法:
select {* | table.* | 字段名 as 别名,.....}
FROM 表名 [as 别名]
[left | out | inner join 表名]#联合查询
[WHERE ...]#指定结果需满足的条件
[GROUP BY...]#指定结果按照哪几个字段来分组
[HAVING...]#过滤分组的记录必须满足的次要条件
[ORDER BY ...]#指定查询记录安一个或者多个条件排序
[LIMIT {[offse,] row_count | row_count OFFSET offset}];#指定行数
注意:[]表示可选,{}表示必须,#表示注释
关联查询:SELECT s.sName , r.rName FROM student AS s , role AS r WHERE s.rid = r.rid;
子查询:在查询语句中的WHERE条件子句中,有嵌套了另外一个查询语句,求解的方式是由里及外;
SELECT * FROM 表名1 WHERE id in (SELECT id FROM 表名2 WHERE 字段 = "值");
内连接:inner join
等值和非等值的连接查询
自身连接查询
(方式一:)SELECT 字段1,字段2, ******FROM 表名1 INNER JOIN 表名2 ON 表名1.字段 = 表名2.字段;
(方式二:)SELECT 字段1,字段2,。。。 FROM 表名1 , 表名2 WHERE 表名1.字段 = 表名2.字段;
外连接:out join
左连接:(LEFT JOIN):以左表为主,返回左表中所有记录,即使在右表中没有匹配的行
SELECT 字段1,字段2,。。。 FROM 表名1 LEFT JOIN 表名2 ON 表名1.字段 = 表名2.字段;
右连接:(RIGHT JOIN):已右表为主,返回右表中所有的记录,即使在左表中没有匹配的行
SELECT 字段1,字段2,。。。FROM 表名1 RIGHT JOIN 表名2 ON 表名1.字段 = 表名2.字段;
DISTINCT关键字:去掉SELECT 查询返回的记录结果中重复的记录(所有返回列的值都相同),只返回一条。
SELECT DISTINT 字段名,字段名...FROM 表名;
NULL空值条件查询:需要使用IS NULL 或 IS NOT NULL 比较操作符比较
IN 关键字:SELECT 字段列,...FROM 表名 WHERE 字段名 IN (值1,值2...);
LIKE关键字:SELECT 字段列... FROM 表名 WHERE 字段名 LIKE "%值%";
LIMIT 偏移量(从0开始) , 显示的容量;
MySQL的统计函数
COUNT(1) 统计记录总和数
SUM() 统计数字字段或表达式列作统计,返回一列的总和
MAX() 统计数字字段或表达式列作统计,返回一列的最大的值
MIN() 统计数字字段或表达式列作统计,返回一列的最小值
AVG() 统计数字字段或表达式列作统计,返回一列的平均值
使用 GROUP BY 对查询结果分组,分组的依据字段可以有多个,并依次分组,与HAVING结合使用,进行分组后的数据筛选