mysql-增删改

DQL select
DML insert into  delete update
DDL create  drop alter
DCL grant revoke
TPL commit rollback


创建数据库-删除数据库
create database 'database_1' charactor set utf8;
drop database database_1;
使用数据库
use database_1 ;


创建用户,
create user 'username'@'ip地址' identified by '密码';
create user 'new_user'@'%' identified by 'new_user_password' ;
删除用户
drop user 'user_name'@'ip_addrees';
修改用户名字
rename user 'user_name'@'ip_addrees' to 'new_user_name'@'ip_addr';


修改密码(忘记密码):
windows mysql忘记密码,
在命令行操作
net stop mysql
mysqld --skip-grant-tables
进入mysql后操作
use mysql
update user set authentication_string = password('密码') where user='root'
flush privileges;


linux mysql忘记密码
在命令行操作
#/etc/my.ini
#skip-grant-tables
#systemctl restart mysqld
进入mysql后操作
use mysql
update user set authentication_string = password('密码') where user='root'
flush privileges;
方法一:
#mysql 5.7之前
update user set password = password('new_pwd') where user='user_name';
#mysql 5.7之后
update user set authentication_string = password('new_pwd') where user='user_name'
方法二:
set password for 'wzx'@'%'=password('new_pwd');






授权
grant all privileges on *.* to 'user_name'@'ip_addrees' identified by 'user_password' with grant option;
回收权限
revoke create on *.* from 'user_name'@'ip_addrees';
刷新权限
flush privileges;


创建表
create table text(
No int not null auto_increment,
name varchar(20) not null,
age tinyint not null,
sex  tinyint not null,
primary key (No)
)ENGINE=InnoDB default CHARSET=utf8;
删除表
drop table text;


删除表数据
delete from 表名 where 删除条件;
delete from student where name="张三";
清除表数据,保存表结构
truncate table 表名;
truncate table student;


插入数据
INSERT INTO `table_name`(field1,field2,...)
values(valueA1,valueA2,...),(valueB1,valueB2,...)(...);


增加新字段
alter table `tt1` add `time` date;
修改字段的属性
alter table `tt1` change `旧字段名字` `新字段名字` 字段类型
alter table `tt1` change `time` `time` datetime;


更新数据
update `表名` set `字段名`=`值` where 更新条件;
update `tt1` set `time`=now() where  tno=2;
update `tt1` set `age`=age+1
批量替换原来的数据
update '表名' set '字段'=replace(字段,'原来的值','新的值')
update `tt1` set  `sex`=replace(sex,'man','男') 


对字段属性设置成unique,后使用insert ignore into 可避免重复数据
select*,count(*) as repetition from `tablename` group by `field` having repetition>1; 检查重复数据
distinct | group by(field)  能在select 的时候过滤掉重复数据


导入导出(备份):
1:允许出数据权
grant file on *.* to user_name@'%'
#注意路径地址分隔符为‘/ ’
2:导出数据(    默认地址为secure_file_priv, #( show variables like '%secure%')   )
select * from table_name into outfile 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/new_file.txt'  
field terminated by ',' optionally enclosed by '''' lines terminated by '\n';
#导出数据时候记得把格式也一起备份,以后导入数据的时候有用
3:导入数据(导入的时候要把格式一起复制,否则会导入会出错)
load data infile '' into table table_name 
field terminated by ',' optionally enclosed by '''' lines terminated by '\n';


######下面内容和上面内容大多一样,但用法与例子更多,方便自己查看#######
insert into `table_name`(field1,field2) values (valueA1,valueA2),(valueB1,valueB2)
insert into `taget_table` select * from `source_table`;


delete from `table_name` where condition; truncate table 'table_name'
update `table_name` set `field1`='values' where condition;
update `table_name` set `field`=replace(`field`,'old_string','new_for_old');

update `mysql` set authenication_string=password('new_pwd') where user='root'; 

也可以【set password for `username`@`ip_addr`=password('new_pwd');】



create database `database_name`;
create user `username`@`%` identified by 'new_pwd';
create table `table_name`(field property,..,primary key(),index [index_name] (column_name(length)) )engine=InnoDB default charset=utf8;
create temporary table  `table_name`(...);
create table target_table like source_table;
create table table_a (id int not null,...,) as (select * from table_b)
create index index_name on table_name(column_name(length))
create unique index index_name on table_name(column_name(length)) 不允许空值
create index tablename_columnA_columnB on tablename(columnA,columnB)
drop database `database_name`
drop user `username`@`%`;
drop table `table_name`
drop index index_name on `table_name`
alter table `table_name` drop index index_name
alter table `table_name` add `new_field` property [first | after `field`]; 
alter table `table_name` drop `field_name`;
alter table `table_name` change `old_field` `newfield` property;
alter table `table_name` modify `field` new_property;
alter table `table_name` alter field set default ֵ;
alter table `table_name` alter field drop default;
alter table `table_name` engine=myisam;
alter table `o_table_name` rename to `n_table_name`;
alter table `table_name` drop foreign key foreign_key_name;
alter table `table_name` add index index_name  (column_name);
alter table `table_name` add unique index_name  (column_name);
alter table `table_name` add primary key (column_name);
alter table `table_name` add fulltext index_name(column_name)
alter table `table_name` auto_increment = 100;


grant all privileges on *.* to `username`@`ip_addr` identified by `pwd` with grant option;
show grants for `username`@`ip_addr`
revoke privileges on *.* from `username`@`ip_addr`


















  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值