今日学习总结3.1
一、基本的SQL语句(重要)
1.库的增删改查
1.增:create database 数据库名;
create database db1;
create database db1 charset=‘utf-8’;
2.删:drop database db1;
3.改:alter database db1 charset=‘gbk’;
4.查:show databases;
show create database db1;
2.表的增删改查
前提:先选择数据库
1.如何查看当前所在数据库
select database();
2.选择数据库:
use db1;
3.查看数据表
show tabales;
show create table t1; 查看表的详细结构
desc t1; 查看表的详细信息
4.创建数据表
create table t1(id int,name varchar(16));
5.修改
modify只能修改数据类型
alter table t1 modify name varchar(32);
alter table t1 change name name1 varchar(64);
6.删除
drop table t1;
3.记录的增删改查
1.查看
select * from t1;
2.插入数据
insert into t1 (id,name)values(1,‘xcf’); 单条数据
insert into t1 (id,name)values(1,‘xcf’),(2,‘tom’); 批量插入数据
insert into t1 values(4);
insert into t1 (name)valuse(‘xcf’);
3.修改数据
update t1 set name=‘xcf’ where id=1;
4.删除数据
delete from t1 where id=1;
delete from t1;
truncate t1; 清空表
二、存储引擎
存储数据的方式
存储引擎决定存储数据的方式不同
MySQL提供了多种数据引擎
查看所有的存储引擎
show engines;
1.MyISAM
是mysql5.5及之前的版本默认存储引擎
存储速度快,相对于InnoDB而言
不支持事务,支持表
2.InnoDB
是mysql5.6之后的版本默认的存储引擎
相对于MyISAM存储速度慢
支持事务,行锁,外键
3.MEMORY
数据存储在内存中,一单断电,数据立马丢失,或者数据重启也丢失
create table t2(id int)engine=MyISAM;
create table t3(id int)engine=InnoDB;
create table t4(id int)engine=MEMORY;
insert into t2(id)values(1);
insert into t3(id)values(2);
insert into t4(id)values(3);
各个存储引擎的存储文件
MyISAM的存储文件个数:
1. .frm 存储数据的表结构
2. .MYI 存储索引
3. .MYD 存储表数据
InnoDB的存储文件个数:
1. .frm 存储表结构
2. .ibd 存储数据和索引
Memory的存储文件个数:
1. .frm 存储表结构
三、数据类型
1.整型
tinyint,smallint,int,bigint
区别是:存储数据的范围不一样
默认带符号
整型的存储大小取决于类型,而不是取决于括号里面的数字,而字符串的话是取决于括号里面的数字
varchar(32)
2.浮点型
float(255,30) 代表总共255位,小数占30位
double(255,30) 代表总共255位,小数占30位
decimal(65,30) 代表总共65位,小数占30位
create table t1 (id float(255,30));
create table t2 (id double(255,30));
create table t3 (id decimal(65,30));
插入数据:
insert into t1 values (1.11111111111111111111111);
insert into t2 values (1.11111111111111111111111);
insert into t3 values (1.11111111111111111111111);
区别:精度不一样
decimal > double > float
3.字符串
char(4)
字符串类型,存储的范围是4个字符,超过了直接报错,不超过按照4个字符存
varchar(4)
字符串类型,存储的范围是4个字符,超过了直接报错,不超过有几个存几个
create table t1 (id int, name char(4));
create table t2 (id int, name varchar(4));
插入数据
insert into t1 (id,name)values(1,‘xxxccc’);
insert into t2 (id,name)values(1,‘xxxccc’);
4.日期
datetime 年月日时分秒
date 年月日
time 时分秒
year 年份
create table t1(id int,reg_time datetime,reg1_time date,reg2_time time,reg3_time year);
插入数据
insert into t1 values(1,‘2022-1-1 11:11:11’,‘2022-01-02’,‘11:11:11’,‘2022’);
5.枚举和集合
枚举:多个里面选一个
create table t1(id int,gender enum(‘男’,‘女’,‘other’));
集合:多个里面选多个
create table t2(id int,hobby set(‘music’,‘red’,‘movie’));
insert into t2 values(1,‘music’);
四、严格模式
查看mysql的sql_mode
show variables like ‘%mode%’;
设置严格模式
1.直接使用命令修改
set global sql_mode=‘STRICT_TRANS_TABLES’;
set global sql_mode=‘STRICT_TRANS_TABLES,ONLY_FULL_GROUP_BY‘;
2.配置文件的修改

浙公网安备 33010602011771号