MySQL学习笔记

2024-03-05T21:28:00

关于InnoDB 和MyISAM

InnoDB 和 MyISAM 是 MySQL 数据库系统中两种不同的存储引擎,它们在数据存储、处理性能、并发控制和事务支持等方面有着显著的区别:

11,5
https://www.bilibili.com/video/BV1JG4y1Q7BX/?share_source=copy_web&vd_source=e89873197d277ae4c60212afabe4cac6


插入insert
删除delete
更新update

约束:表中数据的限制条件,主键约束 primary key

显示所有数据库
show databases;
如果mydb1不存在,则创建它
create database if not exists mydb1; 

-- 修改数据库mydb1 编码为 utf8mb4

alter database mydb1 character set utf8mb4;

-- 使用表

use mydb1;

-- 创建 表emp1

create table emp1(
    id int auto_increment primary key,
    name varchar(20),
    address varchar(20),
    birth date,
    tel varchar(30),
  salary double
);

-- 显示所有表名

show tables;

-- 描述表结构 describe缩写

desc emp1;

更改 id 列为 INT auto_increment

alter table emp1 modify column id int auto_increment;

-- 删除 emp1

drop table emp1;

-- emp1 插入

insert into emp1(id,name,address,birth,tel,salary) values(1,'张三','河南','2004-03-22','133xx2222',10000.5);

不设置关键字时 插入的 values 值与关键字顺序一一对应

insert into emp1 values(2,'李四','河南','2003-03-03','112233',10000.5);

-- 批量插入

insert into emp1 values(3,'李四','河南','2003-03-03','112233',10000.5),
(4,'李四','河南','2003-03-03','112233',10000.5);
insert into emp1 values(5,'李五','河南','2003-03-03','112233',10000.5),
(6,'张刘','重庆','2003-03-03','112233',10000.5),
(7,'李琦','上海','2003-03-03','112233',10000.5);

-- 插入一行 name 字段 和 address 字段,为定义的为 NULL

insert into emp1(name,address) values('李娜','武汉');

-- 修改表名

rename table emp1 to employee;
rename table employee to emp1;    

-- 添加关键字为 dept的一列

alter table emp1 add dept varchar(20);

-- 改变关键字dept 为 department 类型varchar(20)

alter table emp1 change dept department varchar(20);
alter table emp1 change department dept varchar(20);

-- 修改表emp1 删除列tel

alter table emp1 drop tel;
alter table emp1 add tel varchar(20);

-- 返回emp1所有的数据

select * from emp1;

-- 返回emp1 id字段(列)的数据

select id from emp1;

-- 查询所有 name="张三"的数据

select * from emp1 where name='张三';

-- id 大于 6 的数据

select * from emp1 where id > 6;

-- 删除 emp1 中字段 name 为“张三”的数据

delete from emp1 where name='张三';

-- 插入(恢复)张三这行数据

insert into emp1 values(1,'张三','河南','2003-03-03','112233',10000.5);

-- 查看指定某个表的 创建语句

show create table emp1;

-- 设置emp1 所有字段为 dept 的内容为“行政”

update emp1 set dept='行政';

-- 设置 emp1 name为'张三' 的dept 为'开发'

update emp1 set dept='开发' where name='张三';

-- 删除 emp1 的列tel

alter table emp1 drop column tel;

-- 增加 tel 列

alter table emp1 add tel varchar(20);
alter table emp1 add column tel varchar(20);

-- 重命名 列名tel 为 tel1

alter table emp1 rename column tel to tel1;
alter table emp1 rename column tel1 to tel;

-- 查询 emp1 id>2的数据

select * from emp1 where id>2;

-- 查询 emp1 id>1且id<5 的数据

select * from emp1 where id>1 and id<5;

-- 查询 emp1 (id>1且id<5) 和 (id<5且id>6) 的数据

select * from emp1 where id>1 and id<5 or id>6 and id <9;

-- 查询 emp1 {id>1且(id<5和id>6)}且{id<9} 的数据

select * from emp1 where id>1 and (id<5 or id>6) and id<9

-- 更改 emp1 tel 列的默认值为'Unknown'

alter table emp1 modify tel varchar(20) default "Unknown";

-- 修改 emp1 中 name 数据类型 varchar(50)

alter table emp1 modify column name varchar(50);

-- 查询 emp1 (id>1且id<5) 和 (id<5且id>6)且 id<9的数据

select * from emp1 where id>1 and id<5 or id>6 and id <9;
当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »