MySQL数据库(一)

拟墨画扇 提交于 2019-11-26 13:46:12

如何删除安装好的数据库?

  1. 删除程序。进入控制面板->在程序和功能选项卡中找到 MySQL,右键卸载。

  2. 删除安装文件夹下的所有内容。找到 MySQL 的安装路径,然后删除路径下所有文件
  3. 删除注册表。Windows+R 打开运行命令框,输入 regedit 回车,删除以下 3 个地方的
    注册文件:

    1. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL 目录
      删除

    2. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL 目录
      删除

    3. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL
      目录删除

  4. 最重要的一点:进入 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)

  1. 修改表名:ALTER TABLE 旧表名 RENAME AS 新表名
  2. 添加字段:ALTER TABLE 表名 ADD字段名 列类型
  3. 修改字段:ALTER TABLE 表名 MODIFY字段名 列类型
  4. 修改字段二:ALTER TABLE 表名 CHANGE 旧字段名 新字段名 列类型
  5. 删除字段:ALTER TABLE 表名 DROP 字段名
  6. 删除 数据表: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结合使用,进行分组后的数据筛选

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!