数据库常用基本操作命令

操作实体(库、表的结构):

查看所有数据库:

    SHOW DATABASES;

创建数据库:

    CREATE DATABASE 库名 CHARSET=UTF8;

删除数据库:

    DROP DATABASE 库名;

使用数据库:

    USE 库名;

查看所有表:

    SHOW TABLES;

创建表:

    CREATE TABLE 表名(id INT,name CHAR(32),age INT,gender CHAR(4)...)CHARSET=UTF8;

删除表:

    DROP TABLE 表名;

查看表结构:

    DESC 表名;

修改表的名字:

    ALTER TABLE 当前表名 RENAME 新表名;

添加字段:

	ALTER TABLE 表名 ADD COLUMN 字段名 字段类型;

删除字段:

	ALTER TABLE 表名 DROP COLUMN 字段名;

修改字段名称

	ALTER TABLE 表名 CHANGE COLUMN 当前字段名 新字段名 当前字段类型;

修改字段名称加类型:

	ALTER TABLE 表名 CHANGE COLUMN 当前字段名 新字段名 新字段类型;

修改字段类型:

	ALTER TABLE 表名 MODIFY COLUMN 字段 新字段类型;

注:有多少行数据就有多少行被影响。

操作数据:

增:

	INSERT INTO 表名(字段1,字段2,...) VALUE (值1,值2,...);

删:

	DELETE FROM 表名 WHERE 字段1=值1;

改:

	UPDATE 表名 SET 字段1=值1 WHERE 字段2=值2;

查:

	SELECT 字段名或* FROM 表名 WHERE 字段=值;

 

主键:

添加主键:

	ALTER TABLE 表名 ADD PRIMARY KEY(字段);
	ALTER TABLE 表名 ADD PRIMARY KEY AUTO_INCREMENT(字段); 
		--版本问题 这样写不报错也不生效,主键添加成功,自增属性未添加上
	ALTER TABLE 表名 MODIFY 字段 INT AUTO_INCREMENT PRIMARY KEY; 
		--5.7版本要加自增用modify关键字

删除主键(不用指定字段):

	ALTER TABLE 表名 DROP PRIMARY KEY;

 

外键:

建表时添加外键:

CREATE TABLE 中间表(
  	filed INT PRIMARY KEY AUTO_INCREMENT,
  	外键字段1 INT,
  	外键字段2 INT, 
  	FOREIGN KEY(外键字段1) REFERENCES 外表1(id),
  	FOREIGN KEY(外键字段2) REFERENCES 外表2(id)
);

建表时没有加外键 后面修改:

	ALTER TABLE 表名
	ADD [CONSTRAINT 外键名]   #可以不给外键名
	FOREIGN KEY(外键字段) REFERENCES 关联表(关联字段名);

删除外键:

	ALTER TABLE 表名 DROP FOREIGN KEY 外键名;

查看主键外键等建表时的信息(查看外键名):

	SHOW CREATE TABLE 表名 \G;

 

关联查询:

内连接查询:

	SELECT * FROM 表名1 INNER JOIN 表名2 ON 条件;

 

左表查询(左关联查询):

	SELECT * FROM 表名1 LEFT JOIN 表名2 ON 条件;

 

右表查询(右关联查询);

	SELECT * FROM 表名1 RIGHT JOIN 表名2 ON 条件

注:在关联查询中,只有两个表关联查询时必须用ON,两个以上表可以用WHERE条件

 

索引:

创建索引

	普通索引:
			ALTER TABLE 表名 ADD INDEX(字段);
	唯一索引:
			ALTER TABLE 表名 ADD UNIQUE(字段);
	主键索引:
			ALTER TABLE 表名 ADD PRIMARY KEY(id);
	多列索引:
			ALTER TABLE 表名 ADD INDEX(字段1,字段2,...)

删除索引:

	DROP INDEX 字段 ON 表名;

删除复合索引,需要删除创建索引时候的第一个字段:

	DROP INDEX 字段 ON 字段1;

查看索引:

	SHOW INDEX FROM 表名;

 

视图:

创建视图:

	CREATE VIEW 视图名 AS (SELECT 字段1,字段2,字段3... FROM 表名);

查看视图:

	SHOW TABLE STATUS WHERE COMMENT = "VIEW"\G;

使用视图:

	SELECT * FROM 视图名;

删除视图:

	DROP VIEW 视图名;

 

触发器:

创建触发器:

	1、修改mysql的语法结束符
			DELIMITER ||
	2、设置触发器
			CREATE TRIGGER 触发器名 AFTER INSERT ON 表名 FOR EACH ROW
			BEGIN
 			INSERT INTO course(字段1) VALUE ("值1");
			END ||
	3、将mysql的语法结束符修改回来
			DELIMITER ;
	4、触发触发器
			INSERT INTO 表名 (字段1) VALUE ("值1"); 

查看触发器:

	SELECT * FROM INFORMATION_SCHEMA_TRIGGERS \G;

删除触发器:

	DROP TRIGGER 触发器名;

 

用户:

修改密码:

	SET PASSWORD FOR 用户@"主机"=PASSWORD("新密码");

查看用户状态:

	先使用mysql库:use mysql
		再SELECT user,host,authentication_string FROM user;

创建用户:

	CREATE USER 用户@"主机";

注:主机地址写%.%.%.%,则允许全网段登录

创建用户并且设置密码:

	CREATE USER 用户@"主机" IDENTIFIED BY "密码";

删除用户:

	DROP USER 用户@"主机";

 

授权:

常规权限 : select查询 insert插入 update更新 delete删除 create创建

对指定用户的指定IP登录授权操作指定的数据库的表:

	GRANT command ON database.table TO user@host;

授权指定用户指定IP登录拥有指定库指定标的指定字段的指定操作:

	GRANT command(field) ON database.table TO user@host;

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值