数据库总结:
数据库服务器中存放的是 库(文件夹) 表(文件) 表里面是记录(一行数据)
库:
创建
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
这样的两行配置信息到配置文件中,可以每次启动就会默认进入,不需要输入密码了
但是为了数据的安全性,一般不建议这么做