XXX是世界上最好的语言

mysql进阶操作基础篇(一)

2021-12-17  本文已影响0人  堂哥000

默认mysql字符串编码
字符集:utfmb4
排序规则:utf8mb4_general_ci → 该设置字段不区分大小写
排序规则: utf8mb4_bin → 可识别字段内容的大小写

--  建表语句
CREATE TABLE product_name (
  id bigint NOT NULL AUTO_INCREMENT
  ,product_name varchar(200)   DEFAULT NULL
  ,create_time timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'
  ,update_time timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
  ,PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

字段识别大小写设置

基础语法

1.表结构语法

-- 表信息语法
show databases; -- 显示数据库
use demo; -- 进入demo库
desc  demo.product_name;  -- 查看表结果
show create table demo.product_name;  -- 查看建表语句
explain select * from demo.product_name -- 查看运行顺序与资源

2.表内容操作语法

-- 查询
select * from product_name_copy  where  name like '%a%';
-- 数据库为设置区分大小写时使用
select * from product_name_copy  where binary name like '%a%'; 
-- 修改字段值
update product_name set name="b大爷" where name like '%A%';

-- 删除
delete from product_name where  name = "b大爷";

-- 增添
insert into product_name(name) values("c大爷"),("d大爷"),("e大爷");
insert into  product_name set name = "n大爷";
insert into product_name(name) select name from product_name limit 1;

-- 覆盖(根据主键选择更新还是覆盖原来的行操作)
replace into  product_name(id,name)  select id , 'a复制大爷' as name from product_name limit 1;
replace into  product_name(name)  select  name from product_name limit 1;

-- 添加列
ALTER TABLE product_name ADD create_time_bak TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间';

-- 修改列名(注释也可)
ALTER TABLE product_name CHANGE create_time_bak create_time_1 TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'  ;
alter table product_name change name new_name varchar(20) ;
alter table product_name change new_name name varchar(25) COMMENT '产品名';

-- 删除列(慎用)
ALTER TABLE product_name DROP COLUMN create_time_1

-- 复制表(带数据)
create table product_name_copy_1 as select * from product_name;
-- 复制表(不带数据)
create table product_name_copy_2 like product_name;
上一篇 下一篇

猜你喜欢

热点阅读