MySQL基础命令

1、启动、退出数据库

     启动mysql服务:net start mysql;

     关闭mysql服务:net stop mysql;

2、登录与退出

     mysql -u(用户名) -p(密码) -h(服务器名称) -P(端口号);

3、创建数据库

     CREATE DATABASE IF NOT EXISTS t1 CHARACTER SET utf8; //创建一个t1的数据库,编码方式为utf-8;

4、删除数据库

    DROP DATABASE IF EXISTS t1;//删除t1数据库

5、数据类型;

     (1)整形:

              TINYINT    1个字节;

              SMALLINT  2个字节;

              MEDIUMINT 3个字节;

              INT     4个字节;;

              BIGINT  8个字节;

      (2)浮点型

              FLOAT 小数点后七位;

              DOUBLE 是float的十倍;

        (3)时间

             

DATE31000-01-01/9999-12-31YYYY-MM-DD日期值
TIME3'-838:59:59'/'838:59:59'HH:MM:SS时间值或持续时间
YEAR11901/2155YYYY年份值
DATETIME81000-01-01 00:00:00/9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS混合日期和时间值
TIMESTAMP4

1970-01-01 00:00:00/2038

结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07

YYYYMMDD HHMMSS混合日期和时间值,时间戳

      (4)字符型

          

类型大小用途
CHAR0-255字节定长字符串
VARCHAR0-65535 字节变长字符串
TINYBLOB0-255字节不超过 255 个字符的二进制字符串
TINYTEXT0-255字节短文本字符串
BLOB0-65 535字节二进制形式的长文本数据
TEXT0-65 535字节长文本数据
MEDIUMBLOB0-16 777 215字节二进制形式的中等长度文本数据
MEDIUMTEXT0-16 777 215字节中等长度文本数据
LONGBLOB0-4 294 967 295字节二进制形式的极大文本数据
LONGTEXT0-4 294 967 295字节极大文本数据

6、什么是外键?

     外键是加在从表中的,一个从表中可以有多个外键;

     作用:是为了不让一张表中有冗余信息,例如学生信息以及成绩,会放在俩个表中通过外键约束;

     https://www.cnblogs.com/bhlsheji/p/5332910.html

7、外键约束的设置;

RESTRICT:拒绝父表的删除或更新;

NO ACTION:标准的SQL关键字,在MYSQL中与RESTRICT一致;

CASCADE:父表更新且自动更新字表;

SET NULL:附表中更新行,并设置字表中的外键列为NULL;

8、删除主表数据报错该如何解决?

  俩种方式:

     (1)先删除从表中的数据,再删除主表中的数据

     (2)设置外键的参照操作为CASCADE;

9、操作记录

      (1)插入

             INSERT INTO tbl_name(col_name,...) VALUES(a); 

             INSERT ... SET ;

             INSERT ... SELECT;

         (2)更新

               UPDATE table SET ...

         (3)删除

               DELETE FROM table where   条件;

       (4)查询;

               SELECT * from table where;

10、关键字;

        GROUP BY/ HAVING col_name/age > 20;按照对应的列分组;

        ORDER BY age/name   DESC/asc; 按照年龄或者名称降序/升序排列;

        LIMIT 起始位,结果个数;限制返回个数,如果只有结果个数则从第0个开始;

11、in与between的区别

       in (val1,val2,val3,...)

       between min and max;

       in是相当于数组,between则是相当于min与max的集合闭区间;

12、exists 与in

       SELECT * from tbl where exists(条件);先执行父查询,在执行子查询,返回值为true或者false;

       in 则是先执行子查询,后执行父查询,返回子查询中匹配的值;

13、distinct 去重;

14、union 和 union all

        union的作用是联合俩个查询语句的结果,会去掉重复结果;

        union all的作用是直接将俩个查询语句的结果返回;

15、char与varchar的区别?

      char是固定长度的,varchar是可变长度的;

16、视图

      视图就是虚拟的表,其就是一个select语句返回的结果集,对视图也可以进行一般的数据库操作,但是操作也会影响对应的表;

   缺点:如果是复杂的多表查询,那么无法更改数据;

17、like 使用通配符模糊查询;

       select * from tbl where name  like '%asd_';        %多个字符,_单个字符

18、函数

        Round() 四舍五入;

        AVG()平均值;

        COUNT()统计个数;

        CONCAT() :将其中的内容连接成同一个字符串;

19、连接

           table_a inner/left/right join table_b  on table_a.id = table_b.id 

20、数据的三范式

           第一范式:列不可再分;第二范式:行可以唯一确定(只要有重复就把表拆开);第三范式:表的非主属性不能依赖于其他表的非主属性;

21、InnoDB日志的种类

       错误日志:记录出错的日志,警告以及一些正确信息;

       查询日志:记录所有对数据库请求的信息;

       慢查询日志:记录一个阈值,超过这个阈值的sql语句都会被记录到慢查询日志中;

       二进制日志:记录对数据库进行的所有的更改的操作;

       中继日志:事务日志;

22、如果mysql的cpu飙升该如何?

      (1)、show processlist 列出所有的进程,查看其状态;

      (2)、观察日志;

23、如何主从复制?

      (1)开启日志;

      (2)配置server-id;

      (3)创建一个用来通信的账户;

        (4) 在从数据库启动 start slave;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值