惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

雷峰网
雷峰网
小众软件
小众软件
有赞技术团队
有赞技术团队
P
Proofpoint News Feed
V
V2EX
aimingoo的专栏
aimingoo的专栏
WordPress大学
WordPress大学
Forbes - Security
Forbes - Security
Project Zero
Project Zero
Microsoft Security Blog
Microsoft Security Blog
Cyberwarzone
Cyberwarzone
Security Latest
Security Latest
S
Securelist
NISL@THU
NISL@THU
B
Blog RSS Feed
爱范儿
爱范儿
H
Hackread – Cybersecurity News, Data Breaches, AI and More
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
D
Darknet – Hacking Tools, Hacker News & Cyber Security
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
H
Hacker News: Front Page
F
Full Disclosure
J
Java Code Geeks
Recent Commits to openclaw:main
Recent Commits to openclaw:main
The Hacker News
The Hacker News
L
LangChain Blog
Google DeepMind News
Google DeepMind News
I
InfoQ
Last Week in AI
Last Week in AI
S
Security @ Cisco Blogs
PCI Perspectives
PCI Perspectives
IT之家
IT之家
P
Proofpoint News Feed
AI
AI
Hacker News - Newest:
Hacker News - Newest: "LLM"
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
www.infosecurity-magazine.com
www.infosecurity-magazine.com
W
WeLiveSecurity
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Martin Fowler
Martin Fowler
L
LINUX DO - 热门话题
T
Tenable Blog
M
MIT News - Artificial intelligence
N
News | PayPal Newsroom
Blog — PlanetScale
Blog — PlanetScale
Recorded Future
Recorded Future
罗磊的独立博客
大猫的无限游戏
大猫的无限游戏

博客园 - osbreak

ros2::tf2 QML::qml与c++数据交互 k8s:: Service 管理 deployment postgresql 索引 postgresql 基本类型 postgresql 基础运维 PLSQL 触发器 PLSQL 程序包 PLSQL 执行块 PLSQL 基础数据类型 PLSQL oracle安装部署 mysql事务与隔离 mysql慢查询分析 mysql常用总结 (9)libevent 常用设置 (8)libevent 构建libevent http服务,支持文件下载 (7)libevent filter(过滤器) (6)libevent定时器 (5)libevent evbuffer
mysql建增删改查
osbreak · 2023-12-01 · via 博客园 - osbreak

1. 建

/*创建数据库并指定字符集*/
creat database 库名 default character set utf8;

/*创建表*/
DROP TABLE IF EXISTS`表名`;
CREATE TABLE`表名`  (
  `ID` bigint(20) NOT NULL DEFAULT 0 COMMENT'主键',
  `age` tinyint(2) NULL  COMMENT'年龄',
  `name` varchar(100) NULL COMMENT'名字',
  PRIMARY KEY (`ID`) USING BTREE,
  UNIQUE INDEX`idx_id`(`ID`) USING BTREE,
  INDEX`Idx_name`(`name`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci
  
/*创建临时表*/
DROP TEMPORARY TABLE IF EXIST TABLEtmpTable;
CREATE TEMPORARY TABLEtmpTable(
     ID INT primary key, 
     name varchar(30),
     age tinyint(2)
)Engine=InnoDBdefault charset utf8;
DROP TEMPORARY TABLEtmpTable;

/*创建函数*/
CREATE FUNCTION `funcName`(`iObjectID` INT, `iTypeID` INT) RETURNS int(11)
BEGIN
END

/*创建存储过程*/
CREATE PROCEDURE `proceName`(
    IN    `objectId` BIGINT
)
BEGIN
END

/*创建简单的索引,在表上创建一个简单的索引。当我们省略关键词 UNIQUE 时,就可以使用重复的值。*/
CREATE INDEX 索引名称 ON 表名称 (列名称)
    
/*唯一的索引 (Unique Index):在表格上面创建某个一个唯一的索引。唯一的索引意味着两个行不能拥有相同的索引值。*/
CREATE UNIQUE INDEX 索引名称 ON 表名称 (列名称) 
    
/*联合索引*/
CREATE INDEX 索引名称 ON 表名称 (列名称1, 列名称2)


/*事务中捕捉异常*/
declare t_error             INTEGER; -- 事务提交错误码
declare CONTINUE HANDLER FOR SQLEXCEPTION SET t_error = 1;
RETURN_FLAG : BEGIN
-- 开启事务START TRANSACTION;
        prepare stmt from @ssql;  
        EXECUTE stmt; 
        deallocate prepare stmt; 
        -- 事务异常捕捉
	IF (t_error = 1) THEN
             ROLLBACK;
             LEAVE RETURN_FLAG;
        END IF;
    COMMIT;    
END;

2.增

添加主键约束:alter table 表名 add constraint 主键 (形如:PK_表名) primary key 表名(主键字段);
添加外键约束:alter table 从表 add constraint 外键(形如:FK_从表_主表) foreign key 从表(外键字段) references 主表(主键字段);
添加列:alter table 表名 add column 列名 varchar(30);

3.删

删除主键约束:alter table 表名 drop primary key;
删除外键约束:alter table 表名 drop foreign key 外键(区分大小写)
删除列:alter table 表名 drop column 列名
删除属性:ALTER TABLE    表名 DROP 属性名
删除表:DROP TABLE 表名
删除主键:ALTER TABLE 表名 DROP PRIMARY KEY;
删除外键:ALTER TABLE 表名 DROP FOREIGN KEY 外键别名
删除唯一性:ALTER TABLE 表名 DROP UNIQUE 唯一性约束名
删除所有记录:TRUNCATE TABLE 表名

4.改

修改表改名:ALTER TABLE tab RENAME newtab
修改表改名:RENAME TABLE tab to newtab
修改列位置:ALTER TABLE 表名 MODIFY COLUMN id FIRST(AFTER);
修改列位置:ALTER TABLE 表名 MODIFY COLUMN id FIRST name;
修改列类型:ALTER TABLE 表名 MODIFY COLUMN 字段名 字段类型定义;
修改列类型:ALTER TABLE chatter_users MODIFY COLUMN ip VARCHAR(50);
修改列名称:ALTRT TABLE tabname CHANGE num age.
修改列名称:ALTRT TABLE bbb change nnnnn hh int;
修改列属性:alter table t_book modify name varchar(22);
修改默认值:ALTER TABLE 表名  ALTER 属性名 SET DEFAULT 值;
修改AUTO_INCREMENT 初始值:ALTER TABLE 表名 AUTO_INCREMENT=新初始值;
更改表的存储引擎:ALTER TABLE 表名  ENGINE=存储引擎名;

5. 查

查看表的字段信息:desc 表名;
查看表的所有信息:show create table 表名;
显示有几张表:show tables
显示存储过程:show procedure status; 
显示存储过程:show create procedure 存储过程名称;
查看表的结构:desc 表名;
查看建表语句:SHOW CREATE TABLE 表名;
查询数据库编码:show variables like'%char%';

6. 批量入库

修改my.cnf配置文件
bulk_insert_buffer_size=120M 
Max_allowed_packet=1M
Net_buffer_length=8k
批量入库
INSERT INTO M_Signal (Signal_Id, Signal_Name) VALUES(12,'smkoe'),(13,'water');

批量更新
INSERT INTO M_Signal (Id, Signal_Id, Signal_Name) 
VALUES(82854, 12, 'smkoe'),(82855, 13, 'water')
ON DUPLICATE KEY UPDATE Signal_Id=values(Signal_Id),Signal_Name=values(Signal_Name);