mysql基础知识

DBMS(数据库管理系统)
RDBMS(关系型数据库管理系统)
MySQL关系型数据库
NoSql非关系型数据库

1.RDBMS专业术语: 表:具有固定的列数和任意的行数。
         数据库:一些关联表的集合。
         列:一个数据项Field字段。
         行:一条记录 row。
         主键:唯一的,一个表中只能包含一个主键,可以使用主键来查询数据。
         外键:用于关联两个表。
         索引:使用索引可以快速访问数据库表中的特定信息。
        (索引是对数据库表中的一列或多列的值进行排序的一种结构,类似于书籍的目录)
2.MySQL数据库分为两种:系统数据库:information_schema:存储数据库对象信息。
                 mysql:存储数据库服务器性能参数信息。
                 performance_schema:存储数据库用户权限信息。
                 sys:通过这个库可以快速的了解系统的元数据信息。
              用户数据库
3.创建数据库:create database 数据库名称;
4.删除数据库:drop database 数据库名称;
5.查看数据库:show databases;
6.使用数据库:use 数据库名;
7.查看数据库当中有多少张表:show tables;
8.使用顺序: 先查看有哪些数据库-->再使用相应的数据库-->查看数据库中的表。
9.MySQL存储引擎:数据库对象:存储,管理和使用数据的不同结构形式,如表,视图,存储过程,函数等。
        数据库:存储数据库对象的容器。
        存储引擎:MySQL中数据用不同的存储机制、索引技巧,不同的存储引擎的性能不一样。
        事务:
        分类:MYISAM:不支持事务,但访问快。文件后缀:.frm(表).MYD(数据).MYI(索引)
             INNODB:支持事务,有提交,回滚和恢复能力。 (现在最常用的)
             MEMORY:访问快,数据放在内存中,一旦服务器关闭,表数据丢失,表还存在。
10.什么是SQL:Structured Quevy Language(结构化查询语言)    
11.sql功能分类:DDL:数据定义语言,用来定义数据库对象,创建库、表、列等。
           DML:数据操作语言,用来操作数据库表中的记录。
           DQL:数据查询语言,用来查询数据。
           DCL:数据控制语言,用来定义访问权限和安全级别。
12.常用的数据类型:double:浮点型,例如double(5,2)表示最多5位,其中必须有2位小数。
          char:固定长度字符串类型。
          varchar:可变长度字符串类型。
          text:字符串类型。
          blob:二进制类型。
          date:日期类型,格式为yyyy-mm-dd。
          time:时间类型,格式为hh:mm:ss。
          datetime:日期时间类型,格式为yyyy-mm-dd hh:mm:ss。
(在mysql中,字符串类型和日期类型都要用单引号括起来。'Myxq' '2020-01-01')。
13.DDL:创建数据库:create database 数据库名 character set utf8;
    创建学生表:create table students(
               -> name vachar(25),
              -> age int,
             -> sex vachar(5)
              -> );
    添加一列:alter table 表名 add 列名 数据类型;
    查看表的列:desc 表名;
    修改列的类型:alter table 表名 modify 列名 数据类型;
    删除一列:alter table 表名 drop 列名;
    修改表名:rename table 表名to 要修改的表名;
    查看表的创建细节: show create table 表名;
    修改表的字符集为gbk: alter table 表名 character set gbk;
    修改表的列名:alter table 表名 change 原列名 新列名 数据类型;
    删除表:drop table 表名;
14.DML:查询表中的所有数据:select * from 表名;   select * from 表名\G;
    插入操作:insert into 表名 (列名1,列名2,...) values
              -> (列值1,列值2,...),
             -> (列值1,列值2,...),
         注意事项:列名与列值一一对应,不能超出列定义长度,日期和字符要用引号括起来。
    更新操作:更改一列的所有列值:update 表名 set 列名=列值;
         更改列中某一项的值:update 表名 set 列名1=列值1,列名2=列值2 where 列名=列值;
    删除操作:删除一行数据:delete from 表名 where 列名=列值;  (可找回)
         删除所有数据:delete from 表名;  (可找回)
         删除所有数据:truncate table 表名;  (不可找回)
15.修改数据库密码:方式一:use mysql;
               update mysql.user set authentication_string=password('***')
               ->where user='root' and Host='localhost';
               flush privileges;
          方式二:mysqladmin -u root -p password ***  (需要配置好环境变量)
16.DQL:查询所有列:select * from 表名;
    结果集:通过查询语句查询出来的数据以虚拟表的形式展示。
    查询指定列的数据:select 列名1,列名2,... from 表名;
    条件查询:在查询语句后面加上where以及一些运算符和关键字。
        SELECT * from students where sex='woman' and age=19;
    模糊查询:根据指定关键字进行查询,使用like关键字后跟通配符(_任意一个字母)(%任意n个字母)
        select * from students where score like '9%';
    字段控制查询:去掉重复记录:select DISTINCT sex from students;
             结果运算:select *,IFNULL(age,0)+IFNULL(score,0) from students;
             起别名:SELECT *,IFNULL(age,0)+IFNULL(score,0) as total from students;
    排序:对查询的结果进行排序,使用关键字order by。
        降序排序:SELECT * from students order by score desc;
        升序排序:SELECT * from students order by score;
    聚合函数:对查询的结果进行统计计算。
        count():统计指定不为NULL的记录行数。
        max():计算指定列的最大值。
        min():计算指定列的最小值。
        sum():计算指定列的数值和。
        avg():计算指定列的平均值。

全部评论

相关推荐

dian3b:挺妙的,如果上纲上线显得不合人心,但是这样以来既能监督适当摸鱼,也有一定的人文关怀。
摸鱼被leader发现了...
点赞 评论 收藏
分享
面试官全程关摄像头1.自我介绍一下2.React和Vue哪个更熟悉一点3.你在之前那段实习经历中有没有什么技术性的突破(我只是实习了44天工作28天,我把我能说的都说了)4.你封装的哪个表单组件支不支持动态传值5.自己在实习阶段Vue3项目封装过hook吗6.hook有什么作用7.Vue2和Vue3的响应式区别(我说一个是proxy是拦截所有的底层操作,Object.defineProperty本身就是一个底层操作,有些东西拦截不了,比如数组的一些操作还有等等,面试官就说实在要拦截能不能拦截????我心想肯定不行呀,他的底层机制就不允许吧)8.pinia和vuex的区别(这个回答不出来是我太久没用了)9.pinia和zustand的区别,怎么选(直接给我干懵了)(我说react能用pinia吗  他说要用的话也可以)10.渲染一万条数据,怎么解决页面卡顿问题(我说分页、监听滚轮动态加载,纯数据展示好像还可以用canvas画)(估计是没说虚拟表单,感觉不满意)11.type和interface的区别12.ts的泛型有哪些作用(我就说了一个结构相同但是类型不同的时候可以用,比如请求响应的接口,每次的data不同,这里能用一个泛型,他问我还有什么)13.你项目用的是React,如果让你再写一遍你会选择什么14.pnpm、npm、yarn的区别15.dependencies和devdependencies的区别总而言之太久没面试了,上一段实习的面试js问了很多。结果这次js一点没问,网络方面也没考,表现得很一般,但是知道自己的问题了  好好准备,等待明天的影石360和周四的腾讯了  加油!!!
解zj:大三的第一段面试居然是这样的结局
查看15道真题和解析
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务