Mysql基础知识点

 

一、命令
登录数据库: mysql -u root -p123456
退出数据库: quit 或者 exit 
创建数据库: create database 数据库名;
使用数据库: use 数据库名;
删除数据库: drop database 数据库名;
创建表: create table 表名(字段名 字段类型 约束, ...);
修改表-添加字段: alter table 表名 add 字段名 字段类型 约束
修改表-修改字段类型: alter table 表名 modify 属性名 字段类型 
修改表-修改字段名和字段类型: alter table 表名 change 原字段名 新字段名 字段类型 约束
修改表-删除字段: alter table 表名 drop 字段名;
删除表: drop table 表名;
查询数据: select * from 表名; 或者 select 列1,列2,... from 表名;
插入数据: insert into 表名 values (...) 或者 insert into 表名 (列1,...) values(值1,...)
修改数据: update 表名 set 列1=值1,列2=值2... where 条件
删除数据: delete from 表名 where 条件

 

二、常用的数据类型:
整数:int,bit
小数:decimal
字符串:varchar,char
日期时间: date, time, datetime
枚举类型(enum)
常见的约束:
主键约束 primary key
非空约束 not null
惟一约束 unique
默认约束 default  配合枚举类型使用时,需要在枚举内加上默认值
外键约束 foreign key
数据类型和约束保证了表中数据的准确性和完整性

 

三、基本查询结构
select * from 表名
 
判断和逻辑查询
>, <, >=, <= , =,  !=/<>
and , or , not
判断为空使用: is null
判断非空使用: is not null
 
带Like的字符进行查询
like是模糊查询关键字

select * from 表名 where 属性名 like ‘%明_’;
%表示任意多个任意字符
_表示一个任意字符
 
范围查询
between .. and .. 表示在一个连续的范围内查询
in 表示在一个非连续的范围内查询

排序
排序使用 order by 关键字
asc 表示升序
desc 表示降序
 
集合函数
count(): 表示求指定列的总行数
max(): 表示求指定列的最大值
min(): 表示求指定列的最小值
sum(): 表示求指定列的和
avg(): 表示求指定列的平均值
 
分组
select * from 表名 group by 分组字段 having分组条件;
group_concat(属性):每个分组中指定字段值都显示出来
distinct字段 可用来消重
with rollup在最后记录后面新增一行,显示select查询时聚合函数的统计和计算结果

 
四、子查询
子查询是嵌入到主查询中
子查询是辅助主查询的,要么充当条件,要么充当数据源
子查询是可以独立存在的语句,是一条完整的 select 语句
例:查询大于平均年龄的学生:
select * from students where age > (select avg(age) from students);
 
左连接
左连接使用left join .. on .. , on 表示两个表的连接查询条件
左连接以左表为主根据条件查询右表数据,右表数据不存在使用null值填充。
select字段from表1 left join 表2 on 表1.字段1 = 表2.字段2
右连接则是right join.. on.. 

 

五、索引:

  1. 什么是索引,索引的作用

  索引有数据库表中一列或多列组合而成,其作用是提高对表中数据的查询速度;

  1. 索引的结构,索引建立在哪?如何建立的索引

  索引是建立在表上的,是对数据库表中一列或多列的值进行排序的一种结构。

 

  1. 索引的种类

索引有两中存储类型:B型树(BTREE)索引和哈希(HASH)索引,InnoDB和MYISAM储存引擎支持BTREE索引,MEMORY储存引擎支持HASH索引和BTREE索引,默认为HASH索引;

 

索引包括普通索引,唯一性索引,全文索引,单列索引,多列索引,空间索引等;

唯一性索引:在创建唯一性索引时,限制该索引的值必须时唯一的;

全文索引:只能创建在char,varchar和text类型的字段上;

全文索引的搜索执行方式可以不区分大小写,但索引的列使用二进制排序后,可以执行区分大小写的全文索引;

单列索引只根据该字段进行索引;

空间索引:使用SPATIAL参数可以设置为空间索引,空间索引只能建立在空间数据类型之上;

空间数据类型包括:GEOMETRY,POINT,LINESTRING,POLYGON等,

 

  1. 索引的使用
  1. 选唯一性索引
  2. 为经常需要排序,分组和联合操作的建立索引
  3. 为常作为查询条件的字段建立索引
  4. 限制索引的数目
  5. 尽量使用数据量少的索引(每个索引都要占用磁盘空间)
  6. 尽量使用前缀来索引
  7. 删除不在使用或使用很少的索引
  1. 索引的优缺点

索引的优点:

提高检索数据的速度;对于有依赖关系的子表与父表的联合查询时,可以提高查询速度;通过分组和排序子句进行数据查询时,可以节省分组和排序的时间;

索引的缺点:

创建和维护索引时要耗费时间,耗费时间的数量数据量的增加而增加,而且索引要占据物理空间,每一个索引都要占据一定的物理空间;增加,删除和更改数据时,要动态维护索引,因此数据的维护速度减慢了;

索引提高查询数据的速度,因此在插入数据时,删掉索引,在查询数据时添加索引。


  

 
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值