mysql进阶操作基础篇(一)

默认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;

字段识别大小写设置

  • 建表时设置针对字段设置 product_name varchar(200) binary
  • 对整个表设置 COLLATE=utf8mb4_bin
  • 查询语句临时调用 select * from product_name where binary name like '%A%'

基础语法

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;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容