MySQL数据库相关,常用SQL
SQL TABLE 数据库表
-
-
- CREATE DATABASE IF NOT EXISTS `dbname` DEFAULT
- CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-
- USE `user`;
-
-
- DROP TABLE IF EXISTS `user`;
- CREATE TABLE `user` (
- `id` BIGINT(20) unsigned NOT NULL AUTO_INCREMENT,
- `username` VARCHAR(16) NOT NULL COMMENT '用户名',
- `nickname` VARCHAR(16) NOT NULL COMMENT '昵称',
- `pwd` VARCHAR(32) NOT NULL COMMENT '密码',
- `score` DECIMAL(16,2) DEFAULT NULL COMMENT '得分',
- `balance` INT(11) DEFAULT NULL COMMENT '余额(单位/分)',
- `other_info` TEXT DEFAULT NULL COMMENT '其他信息',
- `user_type` ENUM('admin','develop','normal') DEFAULT NULL COMMENT '类型',
- `update_time` TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '更新时间',
- `create_time` TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间',
- PRIMARY KEY (`id`),
-
- KEY `nickname`(`nickname`)
- ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='用户表';
-
-
- ALTER TABLE `dbname`.`user`
- ADD COLUMN `last_login_time` TIMESTAMP(3) DEFAULT NULL COMMENT '最后登陆时间'
- AFTER `user_type`;
-
-
- ALTER TABLE `dbname`.`user`
- MODIFY COLUMN `last_login_time` TIMESTAMP(6);
-
-
- ALTER TABLE `dbname`.`user`
- CHANGE `last_login_time` `last_login` TIMESTAMP(6) DEFAULT NULL;
-
- ALTER TABLE `dbname`.`user`
- CHANGE `last_login` `last_login` DATETIME NOT NULL;
-
-
- ALTER TABLE `dbname`.`user` DROP COLUMN `last_login`;
SQL INDEX UNIQUE PRIMARY KEY 索引
-
-
- ALTER TABLE `dbname`.`user` ADD INDEX `index_last_login` (`last_login`);
-
- ALTER TABLE `dbname`.`user` ADD UNIQUE (`username`);
-
- ALTER TABLE `dbname`.`user` ADD PRIMARY KEY ('id');
-
-
- CREATE INDEX `index_username` ON `dbname`.`user` (`username`);
- CREATE UNIQUE INDEX `un_username` ON `dbname`.`user` (`username`);
-
-
- DROP INDEX `index_username` ON `dbname`.`user`;
- ALTER TABLE `dbname`.`user` DROP INDEX `index_username`;
- ALTER TABLE `dbname`.`user` DROP PRIMARY KEY;
SQL FUNCTION 创建函数
- DROP FUNCTION IF EXISTS `fun_get_value`;
- DELIMITER ;;
-
- CREATE DEFINER=`root`@`%` FUNCTION `fun_get_value`(u float , v float )
- RETURNS decimal(16,4)
- BEGIN
- return cast(sqrt(u+v) as decimal(16,4));
- END;;
- DELIMITER;
SQL PROCEDURE 创建存储过程
- DROP PROCEDURE IF EXISTS `proc_insert_data`;
- DELIMITER ;;
- CREATE DEFINER=`root`@`%` PROCEDURE `proc_insert_data`(
- p_1 VARCHAR(6),
- p_2 DATETIME,
- p_3 INT,
- OUT p_4 INT
- )
- BEGIN
- SET @time = NOW();
-
-
-
- END;;
- DELIMITER;
SQL EVENT 创建事件
- DROP EVENT IF EXISTS `job_load_data`;
- DELIMITER ;;
- CREATE DEFINER=`root`@`%` EVENT `job_load_data`
- ON SCHEDULE EVERY 10 MINUTE STARTS '2021-01-01 00:00:00'
- ON COMPLETION PRESERVE
- ENABLE
- DO BEGIN
- call `xxxxx`();
- END;;
- DELIMITER;
SQL USER 用户/授权
-
- CREATE USER 'root_test'@'%' IDENTIFIED BY 'adong98765';
-
- ALTER USER 'root_test'@'%' IDENTIFIED BY '123456';
-
- GRANT ALL PRIVILEGES ON *.* to 'root_test'@'%';
-
- GRANT SELECT ON *.* TO 'root_test'@'%';
-
- FLUSH PRIVILEGES;