MySQL入门笔记一

MySQL应用笔记   一
MySQL关系型数据库、开源,中小型公司常用类型的数据库
Oracle 大型公司常用数据库

MySQL基本的命令一、

创建、删除、查看数据库(database)
创建库
create database database_name;
默认创建的是拉丁字符集的数据库

创建字符集gbk格式的数据库
create database database_name DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

删除数据库
drop database database_name;

查看数据库
show database; --查看所有数据库
select database(); --查看当前正在使用的数据库
show database create database_name; --查看数据库database_name的创建语句
show database like 'database%'; --查看以database开头的数据库
select user(); --查看当前数据库哪些用户连接

创建用户、授权、撤销权限
grand all on database_name.* to 'user_name'@'localhost' identified by '123456';
--创建用户user_name并授数据库database_name所有表的所有权限
flush privilege;
--权限权限,权限生效

show grants for 'user_name'@'localhost';
--查看用户user_name有哪些操作权限

权限撤销(revoke)
revoke insert,update,delete,select on database_name.* from 'user_name'@'localhost';
--撤销用户user_name对数据库database下所有表的增删改除权限

创建表、删除表

扫描二维码关注公众号,回复: 8397309 查看本文章

创建表
create table table_name(
id int(4) not null,
name char(20) not null,
age int(3) not null)
--创建表名为table_name,表中存在三个非空字段id、name、age

show table_name;
--查看表table_name

desc table_name;
--查看表table_name表结构

show create table table_name/G;(检查发现不同版本语法不同:show create table table_name;)
--查看建表语句

删除表
drop tables table_name;


数据库备份-导入导出(测试经常需要备份测试库的数据用来部署新环境使用)
select * from database_name;
--查看数据库database_name

单个数据库备份
mysqldump -uroot -p database_name >/home/download/database_name$(date+%F).sql;
--将数据库database_name备份成sql文件,备份的内容为建表语句、数据插入语句等等

压缩备份
mysqldump -uroot -p -B test|gzip >/download/testbak_$(date +%F).sql.gz
--生成gz文件,降低占用内存空间

单表备份(常用)
mysqldump -uroot -p -B database_name table_name >/home/download/database_name_table_name$(date +%F).sql
--将数据库database_name中标table_name备份成sql文件

MySQL数据库常用的操作命令
创建用户
create user user_name identified by '123456';
--创建用户user_name,密码123456

修改密码
set password for user_name=password('234567')
--MySQL5.5及以下版本适用

update mysql.user set authentication_string=password('123456') where user='user_name';
--MySQL5.6及以上版本适用

插入语法

insert into table_name values('wangjiasen',25)
--默认插入的表的所有字段信息

insert into table_name(name,age) values('wangjiasen',25)
--字段对应值的方式插入,大于2个字段

查询语法
select * from table_name;
--打印table_name所有字段数据

select * from table_name limit 10;
--打印10条记录

select name , age from table_name where name like 'wang%';
--模糊匹配

select name , age from table_name order by age desc;
--根据age降序排序

select name,age from table_name where age > 20;
--筛选age大于20的记录

增加删除字段
alter table table_name add id int(18) not null;
--表table_name 增加字段 id 非空 18字符

alter table table_name drop age ;
--删除字段 age

更新数据
update table_name set age = 26 where name ='wangjiasen'
--更新表table_name

删除数据
delete from table_name where age = 25;
--删除数据


创建、删除索引
create index index_name on table_name(id(18));
--给表table_name中字段id创建索引名称为index_name

drop index index_name on table_name;
--删除表table_name中的index_name索引

约束的创建和删除
alter table table_name add primary key(name)
--创建表table_name中name字段为主键约束

alter table table_name add unique(id)
--创建表table_name中id字段为唯一约束

alter table table_name drop primary key;
--删除主键约束


创建、删除视图
create view view_name as select * from table_name;
--创建table_name 视图名称为:view_name

drop view view_name;
--删除视图

MySQL常用的函数
select count(1) from table_name;
--查看table_name多少条记录

select sum(age) from table_name;
--求和

select max(age) from table_name;
--最大值

记录一波

猜你喜欢

转载自www.cnblogs.com/zhangqinANDwangjiasen/p/12134237.html