MySQL知识点(2020-4-26)
DDL 数据定义语言 create drop
DML 数据操作语言 select insert update delete 增删改查
DCL 数据控制语言 grant 权限
privileges中主要针对host+User 主机名+用户名
数据库用户名决定数据库服务器的使用权限归谁所有,
数据库名决定数据存放的位置
1.数据库操作
mysql -uroot -p
1.查看数据库
show databases;
2.使用数据库
use xxx;
如
use mysql; #其中mysql是数据库的核心数据库
3.显示xxx数据库中的所有表
show tables;
4.查看当前所有用户的usename host passwd
select User,Host,authentication_string from user;
2.创建普通用户
use mysql; #进入Mysql数据库中
create user ‘user_name’@‘IP’ identified by ‘passwd’;
如:
create database cmf default set utf8; #创建cmf用户,且任何的ip都可以访问,未设置密码
create datebase 'cmf'@'%' identified by '000000'; #创建cmf 用户且任何用户访问,设置密码000000
create database 'cmf'@'192,。168.162.183'identified by '000000'; #创建cmf 用户且指定IP访问,设置密码000000
修改用户
rename user ‘user_name’@‘IP’ to ‘new_user_name’@‘IP’;
如:
rename stu to student;
删除用户
drop user ‘user_name’2’IP’;
如:
drop user stu;
3.权限管理
show grants for ‘user_name’@‘IP’;
如:
show grants for cmf; #查看cmf用户权限
grant select,update,insert on 库.表 to ‘user_name’@‘IP’; #用户授权
如:
grant all privileges on cmf.* to 'cmf'@'%' identified by '000000'; #cmf.* cmf数据库中所有的表 cmf@% 用户cmf中所有的IP都可以访问cmf数据库中所有的表的权限
4.创建数据库
查看数据库
show datebases;
使用数据库
use mysql;
创建数据库
create databases 库名;
删除数据库
drop databases 库名;
5.表操作
1.use 库名; #首先选中使用的数据库
2.创建表
create table 表名(
id int(4) not null auto_increment,
name varchar(25) not null,
…
…
create_user varchar(255),
create_time timestamp not null default current_timestamp,
update_user varchar(255),
update_time timestamp not null default current_timestamp on update current_timestamp,
primary key(id) #主键=唯一约束+非空约束
) default charset=utf8;
如:
create table stu(
id int(4) not null auto_increment,
name varchar(25),
age int(3),
create_user varchar(255),
create_time timestamp not null default current_timestamp,
update_user varchar(255),
update_time timestamp not null default current_timestamp on update current_timestamp,
primary key(id)
)default charset=utf8;
查看表结构
desc 表名;
desc stu;
查看数据库中可用的表
show tables;
删除表
drop tables 表名 ;
如:
drop table if exists stu;
drop table stu;
修改表名
rename table 表名 to 新表名;
更改表结构
alter table 表名 add/drop/change/rename colume 字段 类型;
insert into stu(name,age) values('张三',18); #ip不用写,因为是自增长
insert into stu(name,age) values('李明',15),('王五',34); #可以插入多个
删除数据 (delete from)
delete from 表名 where id=xxx;
如:
delete from sut where id=2;
更新数据(update)
update 表名 set xxx where xxx;
如:
update stu set age=32 where id=2;
查询数据
select * from 表名;
如:
select * from stu;