MySQL基础(一)

##MySQL基础(一)

###第一章

*数据库:DB

    作用:用于永久性存储和管理数据的仓库.

* 管理员CMD小黑窗口

            a.开启服务  net start mysql
            b.关闭服务  net stop  mysql


  MySQL 登陆:

      a.登陆自己的:在CMD命令提示符中 输入 mysql -uroot -p 密码
      b.登陆别人的:(别人在安装的时候,勾选远程访问)
            方式1: mysql -h 127.0.0.1 -u root -p 密码
            方式2: mysql --host=127.0.0.1 --user=root --password==密码
      c.退出:1.exit
             2.quit

MySQL的重要文件:

        A.安装文件
            my.ini 可以修改编码问题(例如:可以解决中文乱码的问题)
        B.数据文件
            文件夹 --------> 数据库
            excel文件 -----> 表
            很多条数据 ----> 表记录

###第二章

DDL:数据库和表的操作


1.创建数据库:【增、删、改、查、使用】
          
          1.创建数据库:
           CREATE DATABASE 数据库名称;
          2.综合创建数据库并判断是否存在,指定字符集;
           CREATE DATABASE IF NOT EXISTS 数据库名称 CHARACTER SET 具体编码
          3.查询数据库      
           SHOW DATABASES;(显示所有的数据库)
           SHOW CREATE DATABASE 数据库名称;(隐含作用:查看数据库的字符集)
          4.修改数据库
           ALTER DATABASES 数据库名 CHARACTER SET 具体的编码;(修改数据库的字符集)
          5.使用数据库
           USE 数据库名称;
           SELECT DATABASE();(查询正在使用当中的数据库)


2.表的操作:【增、删、改、查】

           1.查询表
           SHOW TABLES;(查询数据库中所有的表信息)
           DESC 表名;(查询某个具体的表结构--每个字段的信息)
           2.创建表
           A.基本的创建格式
                CREATE TABLE 表名称 (列名1 类型1,列名2 类型2,列名3 类型3);
           B.复制表的操作
                CREATE TABLE 新表名称 LIKE 原始表;
           C.常用的数据类型
                a.整数类型 int
                b.小数类型 double(4,1)   4表示有4个数字,1表示精确小数点后1位
                c.字符串类型 varchar(24) 24表示最大容纳24个字符
                d.日期类型 date            需要手动的插入数据到数据库当中
           3.删除表
           A.基本删除操作:DROP TABLE 表名称;
           B.判断是否存在,存在则删除;DROP TABLE IF EXISTS 新的表名;
           4.修改表
           A.修改表名:ALTER TABLE 原始表名称 RENAME TO 新的表名;
           B.修改表的字符集:ALTER TABLE 表名称 CHARACTER SET 字符编码;
           C.修改列名:ALTER TABLE 表名称 CHANEGE 旧列表名称 新列表名称 新列数据类型;
                      ALTER TABLE 表名称 MODIFY 要修改的列名 新的数据类型;
           D.增加一列:ALTER TABLE 表名称 ADD 列名称 新的数据类型;
           E.删除一列:ALTER TABLE 表名称 DROP 列名称;


###第三章

DML:数据库操作表记录,增删改

           1、表记录的添加语句
           A.添加指定列的数据
            INSERT INTO 表名称 (列名1,列名2,列名3) VALUES (值1,值2,值3);
           B.添加所有列的数据
            INSERT INTO 表名称  VALUES (值1,值2,值3,值4,值5);
           C.注意事项
            除了数字类型(整数和小数)以外,其他的都要采用引号(单引号双引号都可以)引起来
           2、表记录的删除语句
           A.删除指定的某些条记录
            DELETE FROM 表名称 [WHERE 条件]; 
           B.删除整个表的操作(面试可能会问)
            a. DELETE FROM 表名称;      -- 删除整个表(逐行删除) 效率低
            b. TRUNCATE TABLE 表名称;    -- 删除整个表(先删表,再建表) 效率高 【推荐使用】
           3、表记录的修改语句
           A.常见修改语句的操作(带有条件)
            UPDATE 表名称 SET 列名1=值1,列名2=值2 [WHERE 条件];
           B.不常见的修改语句操作(修改所有的情况)
            UPDATE 表名称 SET 列名1=值1,列名2=值2;


###第四章

DQL:增删改表中数据

          1、基础查询
          A.多个字段的查询操作
            a.通用写法
                SELECT * FROM 表名称;
            b.指定列写法
                  SELECT 列名1,列名2,列名3  FROM 表名称;
          B.去掉重复的查询操作
                SELECT DISTINCT 列名 FROM 表名称;
          C.四则运算计算列的操作
                SELECT IFNULL (列名1,0) + 列名2  FROM 表名称;
          D.给查询结果起别名的操作
                 SELECT 列名1 AS 别名1,列名2 别名2 FROM 表名称; 
          2、条件查询 WHERE 后面的格式写法
          A.与 && (理解)
            a.写法1:  SELECT * FROM 表名称 WHERE age>20 && age<30;
            b.写法2:  SELECT * FROM 表名称 WHERE age>20 AND age<30;    
            c.写法3:  SELECT * FROM 表名称 WHERE age BETWEEN 20 AND 30;
          B.或 || (理解)
            a.写法1:  SELECT * FROM 表名称 WHERE age=20 || age=30;
            b.写法2:  SELECT * FROM 表名称 WHERE age=20 OR age=30;
            c.写法3:  SELECT * FROM 表名称 WHERE age IN(20,30);   -- 年龄是20或者30的才可以
          C.非 !  (理解)
            a.写法1:  SELECT * FROM 表名称 WHERE address IS NULL;  -- 居住地是Null
            b.写法2:  SELECT * FROM 表名称 WHERE address IS NOT NULL;  -- 居住地不是Null
          3、模糊查询 WHERE LIKE 
          A.两个占位符
              a. '_' 下划线,表示1个字符
            b. '%' 百分号,表示0个或多个字符
          B.案例
                -- 查询姓'武'
                SELECT * FROM hero WHERE name LIKE '武%'; 
                -- 查询姓'武'只有两个字
                SELECT * FROM hero WHERE name LIKE '武_';
                -- 查询第二个字是'文'的
                SELECT * FROM hero WHERE name LIKE '_文%';
                -- 查询只要带有'李'字的
                SELECT * FROM hero WHERE name LIKE '%李%';

                -- 查询所有学生的成绩,按数学成绩降序输出 DESC(降序)
                SELECT * FROM student ORDER BY math DESC;

                -- 对姓李的学生总成绩升序输出 ASC(升序)
                SELECT * FROM student ORDER BY (chinese+math+english) ASC;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值