mysql建增删改查

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%';

posted @ 2023-12-01 01:33  osbreak  阅读(2)  评论(0编辑  收藏  举报