基本sql语句与存储引擎介绍

数据库总结:

数据库服务器中存放的是 库(文件夹) 表(文件) 表里面是记录(一行数据)

库:
创建
create database 数据库名 charset 编码名称
修改
alter database 数据库名 charset gbk
注意,这里的修改只能修改编码方式,不能修改库名
如果要修改库名的话,就需要重新建一个库,将原来的库中的文件复制过去

show databases; 查看所有数据
show create database 数据库名 查看建库语句
删除
drop database 数据库名

表相关
创建
create table t1(id int,name char);
修改
改结构
alter table 表名 add | drop | modify | change
add 后面跟 字段名 数据类型
alter table t1 add grade,int;###增加grade 这一列,类型是Int
drop 后面跟 字段名
alter table t1 drop garade;###删除grade 这一列
modify 后面跟 字段名 新类型
这个只能修改原来字段的类型
change 后面跟 旧字段名 新的字段名 新类型
alter table t1 change name name1 char(32);
改属性
编码
alter table t1 charset gbk;
表名
rename table 旧表名 to 新表名
rename table t1 to t2;

show tables;
show create table 表名 查看建表语句
desc 表名 查看表结构(字段)
删除
drop table 表名
这个删除了表内容 会依然保留表结构,在下次重新插入数据的时候,会继续在原来的ID上增加
truncate table 表名,重建表(清空数据)
这个不仅删除了表内容,还删除了表结构,在下次重新插入数据的时候,ID从1重新开始
行:
添加
insert into 表名 values(值1...),(值1....)....
插入时注意 值得顺序 和 类型必须与表结构一致
修改
update 表名 set 字段名=新的值 where 条件
update t2 set name1='szp' where id=1;
可以同时修改多行 用逗号来隔开字段
没有条件就全改

select *|字段名 from 表名 *表示所有字段
删除
delete from 表名 where条件
没有条件就全删


注意:在公司中,一般删库删表的命令是不让使用的,会有权限加以限制,
数据是最宝贵的东西,记录了所有的信息,一般不允许删除.




存储引擎:
  mysql中建立的库===>文件夹
  库中建立的表===>文件
表中的行 =====>文件中的数据
  现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各自不同的处理机制:比如处理文本用txt类型,
处理表格用excel,处理图片用png等

数据库中的表也应该有不同的类型,表的类型不同,会对应mysql不同的存取机制,表类型又称为存储引擎。

存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方
法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和
操作此表的类型)

  在Oracle 和SQL Server等数据库中只有一种存储引擎,所有数据存储管理机制都是一样的。而MySql
数据库提供了多种存储引擎。用户可以根据不同的需求为数据表选择不同的存储引擎,用户也可以根据
自己的需要编写自己的存储引擎
  
  不同的应用软件处理不同类型的数据.MYSQL5.5版本及以上默认的存储引擎是InnoDB

  mysql 之前使用的存储引擎是myisam 但是现在换成了InnoDB,相对于前者,后者使得数据更加
安全,但是查询的效率有所降低,也就是牺牲了效率换取安全

  几个重要的存储引擎特点简介"
    memory:内存引擎,将所有的数据直接放在内存,一旦断电数据就会全部消失
    blackhole :一切存入其中的数据都会消失
    innoDB:支持行锁,表锁,外键,事物,安全性更高 innodb是默认的引擎 它是永久存储 并且 支持事务,行锁,外键
    myisam :仅仅支持表锁不支持行锁,查询速度叫innoDB更快

# 查看当前数据库的存储引擎以及默认设置情况
show engines;

# 查看不同存储引擎存储表结构文件特点
create table t1(id int)engine=innodb;
create table t2(id int)engine=myisam;
create table t3(id int)engine=blackhole;
create table t4(id int)engine=memory;
可以去那个数据库的文件夹下面查看这几个表,t1 t2 t3 t4 的文件数量是不同的,本质原因是因为存储引擎的不同

insert into t1 values(1);
insert into t2 values(1);
insert into t3 values(1);
insert into t4 values(1);

补充:配置文件中配置用户名和密码
为了简化登录环节,可以在配置文件中增加
user = root
password = 654321
这样的两行配置信息到配置文件中,可以每次启动就会默认进入,不需要输入密码了
但是为了数据的安全性,一般不建议这么做


posted @ 2019-06-21 14:07  同济小孙  阅读(818)  评论(0编辑  收藏  举报