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;
1253

被折叠的 条评论
为什么被折叠?



