mysql基础知识回顾
来源:互联网 发布:腾讯nba数据库 编辑:程序博客网 时间:2024/06/06 19:52
常见的sql语句:
创建数据库:create database if not exists mysql_study character set utf8 collate utf8_general_ci;
查询数据库:show databases like "%mysql%";
查询创建数据库:show create database mysql_study;
删除数据库:drop database if exists mysql_study;
创建表:
CREATE TABLE `lj` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(22) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
//character set 和 charset都是可以的
删除表:drop table tbl_name;
修改表名:rename table old_name to new_name,old_name1 to new_name1;
添加主键:Alter table tabname add primary key(col)
删除主键:Alter table tabname drop primary key(col)
选择:select * from table1 where 范围
插入:insert into table1(field1,field2) values(value1,value2)
删除:delete from table1 where 范围
更新:update table1 set field1=value1 where 范围
查找:select * from table1 where field1 like ’%value1%’
修改列:alter table tbl_name [add|drop|change|modify];
alter table tbl_name add name varchar(22);
alter table tbl_name drop name;
alter table tbl_name modify name int(11);
alter table tbl_name change name mingzi int(11);
alter table tbl_name character set utf8;
添加外键:
Alter table tbl_name drop foreign key 外键标识;默认会生成,也可以指定
select语句:Select select_expr [from tbl_name] [where] [group by] [having] [order by] [limit]
select 子句有顺序,因此要求严格按照上面的顺序使用!
having:可以知道,where负责先获得结果,而如果需要在结果中再次处理(例如通过结果统计出来的聚合结果),则不能再使用where,
此时where已经执行完毕,因此此时SQL提供给应该使用having再次执行过滤操作。
limit:Limit offset,row_count,表示从offset索引位置开始获取row_count条记录。可以省略offset,默认为0.
删除表数据:delete,truncate
区别:
1,truncate 是删除表再创建,delete 是逐条删除
2,truncate 重置auto_increment的值。而delete不会
3,truncate不知道删除了几条,而delete知道。
Character_set_client 客户端发送数据编码
Character_set_results客户端接收数据的编码
Set character_set_connection = gbk;连接层编码
Set names 可以设置上面的三个。
每一套,编码字符集都有与之相关的校对规则。
什么是校对规则? 在当前编码下,字符之间的比较顺序什么。
Show collation;
Show character set;
show variables like 'character_set_%';
知识点详解:
导出
1. 导出一张表
Mysqldump -u用户名 -p密码 库名 表名 > 文件名(D:/a.sql)
2. 导出多张表
Mysqldump -u用户名 -p密码 库名 表名1 表名2 表名3 > 文件名(D:/a.sql)
3. 导出所有表
Mysqldump -u用户名 -p密码 库名 > 文件名(D:/a.sql)
4. 导出一个库
Mysqldump -u用户名 -p密码 -B 库名 > 文件名(D:/a.sql)
可以-w携带备份条件
导入:
1. 在登录mysql的情况下:
Source 备份文件
2. 在不登录的情况下
Mysql -u用户名 -p密码 库名 < 备份文件
mysql数据类型:三大类型: 数值,时间日期,字符串
存储引擎:也叫表类型,指的是数据表的存储机制,索引方案等配套相关功能。不同的引擎,由于处理方式不同,会带来不同的功能或者相应优化,根据实际需求选择合理的引擎。
最常用的存储引擎:
MyISAM,InnoDB
区别:
MyISAM支持外键,而MyISAM不支持外键
MyISAM支持索引压缩,而Innodb索引和数据是绑定保存不压缩,体积大。
MyISAM是非事务安全型的,而InnoDB是事务安全型的。
InnoDB不支持FULLTEXT类型的索引(新版本的InnoDB也支持)
MyISAM锁的粒度是表级,而InnoDB支持行级锁定。
MyISAM相对简单,所以在效率上要优于InnoDB,小型应用可以考虑使用MyISAM。
InnoDB表比MyISAM表更安全
保存的文件的方式不同:
myisam,一个表,三个文件
Tbl_name.frm 结构
Tbl_name.myd 数据
Tbl_name.myi 索引
innodb:
一个表一个文件:
Tbl_name.frm 结构
所有的innodb表,都使用相同的
innodb存储表空间在保存数据和索引
- mysql基础知识回顾
- mysql基础知识回顾
- java mysql笔记 基础知识回顾
- MySql基础知识回顾与总结(一)
- 基础知识回顾
- pp相关基础知识回顾
- C++基础知识回顾
- c语言基础知识回顾
- java基础知识回顾
- java基础知识回顾
- java基础知识回顾
- C#基础知识回顾
- C#基础知识回顾1
- AJAX回顾基础知识总结
- C#基础知识回顾
- C#基础知识回顾
- C#基础知识回顾
- java基础知识回顾
- 最长回文子串
- 三招让你投简历成功
- AlwaysON同步的原理及可用模式
- Android NDK (学习笔记六) —— JNI交互间数组的处理
- msg_cp (should be mapped with insert="false" update="false")
- mysql基础知识回顾
- 引用和指针的区别C/C++
- Android性能测试工具原理
- 数据结构(一)---链表:
- [C++ Object Model] 继承对于member布局的影响
- python ddos
- Merge Two Sorted Lists
- Hive学习笔记02.txt
- MVCC浅析