mysql操作

创建数据库

create database crm default character set utf8mb4 collate utf8mb4_bin;

修改库字符集

修改已经存在的字段顺序

alter table emp[表名] modify age[已经存的字段] int [已经存的字段类型] after/BEFORE name[已经存的字段];
例如:alter table xxxx modify age int after name;

添加新字段到指定位置

alter table xxx add column age int after name;

修改注释

ALTER table kejiyuan COMMENT '科技园123'           

创建数据库

CREATE DATABASE `mydb` CHARACTER SET utf8 COLLATE utf8_general_ci;

创建表结构

CREATE TABLE `表名` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `nnumber` varchar(100) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '客户编号',
  PRIMARY KEY (`id`),
  UNIQUE KEY `number_index` (`nnumber`,`name`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

增加字段

ALTER TABLE 表名 ADD 属性名1 数据类型 [完整性约束条件] [FIRST | AFTER 属性名2];

修改表名

ALTER TABLE student RENAME student4;

修改字段类型

ALTER TABLE 表名 MODIFY 属性名 数据类型;

修改字段名

ALTER TABLE 表名 CHANGE 旧属性名 新属性名 新数据类型;

删除字段

ALTER TABLE 表名 DROP 属性名;

更改表的存储引擎

ALTER TABLE 表名 ENGINE = 存储引擎名;

删除表的外键约束

ALTER TABLE 表名 DROP FOREIGN KEY 外键别名;

删除表

 DROP TABLE 表名;   

查看字符集

 show character set;

查看SQL引擎

show engines

在这里插入图片描述

查看支持的数据类型
select data_type from information_schema.columns group by data_type

创建用户

GRANT priv_type ON database.table TO user [IDENTIFIED BY [PASSWORD] 'password'];
flush privileges;
 1. priv_type 参数表示新用户的权限;
 2.  database.table参数表示新用户的权限范围,即只能在指定的数据库和表上使用自己的权限;
 3.  user 参数指定新用户的账号,由用户名和主机名构成;
 4. IDENTIFIED BY 关键字用来设置密码; 
 5. password 参数表示新用户的密码。
eg:GRANT SELECT ON*.* TO 'test3'@localhost IDENTIFIED BY 'test3';赋予查权限
赋予所有权限
grant all privileges on *.* to 'root'@'%' identified by '@wjb13191835106';

视图

创建视图并查看视图中的数据

#创建视图
create view 视图名 as
sql查询语句;

#查看视图数据
select * from 视图名

查看视图结构

 desc 视图名;    此命令查看的视图结构不是很详细,不能够显示出视图对应的sql语句
 show create view 视图名;    此命令查看的视图结构很详细,可以显示出视图对应的sql语句

删除视图

drop view 视图1,视图2,视图3,....;

索引

	/**UNIQUE(唯一索引)**/
	ALTER  TABLE  表名  ADD  UNIQUE () ;
	/** INDEX(普通索引)**/
	ALTER  TABLE    表名  ADD  INDEX 索引名 ();
	/** FULLTEXT(全文索引)**/
	ALTER  TABLE    表名  ADD  FULLTEXT ();
	/** 多列索引**/
	 ALTER  TABLE  表名  ADD  INDEX 索引名 ();
	/** 删除索引**/
	 drop index  xxx on xxxx ;";
	/**查看所有索引**/
	 show index from xxx;

触发器

格式

在这里插入图片描述

create database if not exists mydb01_trigger;

use mydb01_trigger;

-- 用户表

create table if not exists user(
 uid int primary key auto_increment,
 username varchar(50) not null,
 password varchar(50) not null
)default charset=utf8;

-- 用户信息操作日志表
create table if not exists user_logs(
 id int primary key auto_increment,
 time timestamp,
 log_text varchar(100)
 )default charset=utf8;
 
-- 需求1:当user表添加一行数据,则会自动在user_log添加日志记录
-- 定义触发器: trigger_test1
create trigger trigger_test1 after insert on user for each row
insert into user_logs values(NULL,now(),'new');

-- 在user表添加数据,让触发器自动执行
insert into user values(2,'zbb','123456');

new与old

在这里插入图片描述


create database if not exists mydb01_trigger;

use mydb01_trigger;

-- 用户表

create table if not exists user(
 uid int primary key auto_increment,
 username varchar(50) not null,
 password varchar(50) not null
)default charset=utf8;

-- 用户信息操作日志表

create table if not exists user_logs(
 id int primary key auto_increment,
 time timestamp,
 log_text varchar(255)
 )default charset=utf8;
 
-- 需求1:当user表添加一行数据,则会自动在user_log添加日志记录
-- 定义触发器: trigger_test1
create trigger trigger_test1 after insert on user for each row
insert into user_logs values(NULL,now(),'new');

-- 在user表添加数据,让触发器自动执行
insert into user values(3,'zbb','123456');
 
 
 -- NEW和OLD
 -- insert 触发器
 -- NEW
 -- 定义触发器: trigger_test2
drop trigger trigger_test1
create trigger trigger_test2 after insert on user for each row
insert into user_logs values(NULL,now(),concat('有新用户添加,信息为:',NEW.username,NEW.password));

insert into user values(4,'abb','123456');

 -- update 触发器
 -- NEW
 -- 定义触发器: trigger_test3
 -- OLD
drop trigger trigger_test2
create trigger trigger_test3 after update on user for each row
insert into user_logs values(NULL,now(),concat('有用户信息修改,旧数据是:',OLD.uid,OLD.username,OLD.password));

update user set password = '00000' where uid=3;

 -- NEW
 drop trigger trigger_test3
create trigger trigger_test4 after update on user for each row
insert into user_logs values(NULL,now(),concat('有用户信息修改:新数据是',NEW.uid,NEW.username,NEW.password));

update user set password = '666666' where uid=3;

-- delete类型触发器
-- OLD
create trigger trigger_test5 after delete on user for each row
insert into user_logs values(NULL,now(),concat('有用户被删除,删除信息为:',OLD.uid,OLD.username,OLD.password));

delete from user where uid=3;


查看删除

SHOW TRIGGERS;
drop trigger xxxx;
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梁晓山(ben)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值