DB-Mysql-基础


连接与断开

连接服务器
shell>mysql -h host -u user -p
断开服务器
mysql>quit


常用查询

  • select version() 显示版本
  • select current_date 显示当前日期
  • select now() 显示当前用户
  • show databases 显示所有数据库
  • show tables in database 显示某个数据库中的所有数据表
  • use database 使用某个数据库
  • describe table_name 显示表的详细信息

  • 创建数据库&表

    mysql>create database mytest;

    mysql>create table userinfo(name varchar(20),gender varchar(4),ctime date);


    加载数据

  • insert into table_name values
  • load data local infile 'dir/file' into table table_name lines terminated by '行结束符'

  • 查询数据

    select name, gender, ctime from userinfo where name = 'mete' or name = 'allen' and gender = 'female' order by ctime

    ps: NULL 在mysql中 是特殊的值,不能使用普通比较符来比较,需要用is或is not


    模糊匹配

    “_” 匹配任何单个字符;
    “%”匹配任意数目字符(包括零字符)。

    mysql> select * from userinfo where name LIKE 'm%'

    PS:使用SQL模式时,不能使用=或!=,而应使用LIKE或NOT LIKE比较操作符。


    分组函数

    分组 函数包含

  • count() 计数
  • sum() 求和
  • min() 最小值
  • max() 最大值
  • average() 平均值
  • 以上经常与group by组合使用,
    mysql>select name, gender, count(*) from userinfo group by ctime


    批量处理

    为了批量完成处理操作,而不是交互式的方式,可将操作内容放入文件,然后将文件导入mysql进行执行
    shell>mysql < test.sql

    PS:在执行脚本之前,留心检查脚本中是否写了 use db


    设置自增属性

    可使用AUTO_INCREMENT属性为新的字段设置自增属性,可用来做唯一标识&索引

    create table gender ( 
                        id MEDIUMINT NOT NULL AUTO_INCREMENT,     
                        gender ENUM('male','female','neutral') NOT NULL,    
                        PRIMARY KEY  (gender,id));
    

    Mysql 存储引擎

    • show engines 查看当前mysql所使用的引擎,最常用的有MyISAM和InnoDB
    • MyISAM:默认引擎,它是基于传统的ISAM(有索引的顺序访问方法)类型,它是存储记录和文件的标准方法,但不是事务安全的,而且也不支持外键。如果执行大量 的SELECT,MyISAM是更好的选择,与InnoDB相比,可节省空间12%,存储索引可节省95%
    • InnoDB:事务安全的存储引擎,支持事务、事务支持、行级锁定等

    MyISAM InnoDB Attribute


    本文参考了叶金荣老师的一部分文档内容

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值