关于mysql数据库的命令总结(索引 试图)

基本语法

查看数据库  show databases;

使用数据库  use school;

查看表      show tables;

创建表      create table student (id int primary key auto_increment,name char(5)) charset=”utf8”

删除表      DROP TABLE student;

查看表结构   DESC student;

 

 

增加数据 insert into person(name,age) value (“小刘”,18);

 

查询数据  select * from person  查看所有字段数据

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

   Select name from person; 查询当前表中name字段的所有数据

              Select name from persion where type = “s” order by id desc 查 询所有类型为s的数据,并以 id倒序排列

Select count(id) from teacher 查看teacher中总数据条数

 

 

用户管理

  设置用户密码

SET PASSWORD FOR root@localhost=PASSWORD(“1111”);

查看用户名密码

SELECT USER,host FROM mysql.user\G;

数据修改

修改表名  ALTER TABLE studebt RENAME students;

字段

添加字段

ALTER TABLE students ADD COLUMN phone char(22);

删除字段

ALTER TABLE students DROP COLUMN phone;

修改字段类型

ALTER TABLE students MODIFY COLUMN phone char(32);

修改字段名称和类型

ALTER TABLE students CHANGE COLUMN phone telephone char(22);

UPDATE students SET name=”老刘”WHERE id=1; 没有WHERE会默认修改 所有

 

DELETE FROM person WHERE name<>”老表”; 删除person表中名为老表 的字段

 

移动字段

ALTER TABLE students CHANGE phone char(32) AFTER name; 将phone字段 移动到name字段之后

 

数据库用户权限命令

 

创建用户

CREATE USER xl@localhost;

 

创建用户并添加密码

CREATE USER xl@localhost identified by ”1234”;

 

创建用户允许远端登录

CREATE USER [email protected] identified by ”1234”; 允许10.10.65.250以 xl的用户登录mysql

 

CREATE USER [email protected].% identified by ”1234”; 允许10.10.65.0 ~~ 10.10.65.255以xl的用户登录mysql

 

CREATE USER [email protected]5_ identified by ”1234”; 允许10.10.65.250 ~~ 10.10.65.255以xl的用户登录mysql

 

 

删除用户

DROP USER [email protected] 

 

常规权限操作

 

Grant select on bian.person to laobian@localhost            将bian数据库 的person表的查询权限授权给以localhost登录laobian用户

 Grant insert on bian.person to laobian@localhost            将bian 数据库 的person表的插入权限授权给以localhost登录老边用户

 Grant delete on bian.person to laobian@localhost           将bian数据库 的person表的删除权限授权给以localhost登录laobian用户

 Grant update on bian.person to laobian@localhost          将bian数据库 的person表的更新权限授权给以localhost登录laobian用户

 Grant select(id,name) on bian.person to laobian@localhost          将bian 数据库的person表的id和name字段的查询权限授权给以localhost登录 laobian用户

Grant select,insert,delete,update,on bian.person to laobian@localhost    将bian数据库中的person表的增删改查的权限授权给以localhost登录 lapbian用户

数据库的关联查询

SELECT * FROM 表名 WHERE 字段名=”条件”;

两表联查:

SELECT * FROM teacher WHERE project = (SELECT label FROM classes WHERE id = 1);

SELECT name,label,description FROM teacher ,classes WHERE teacher.project = classes.label;

别名查询:

SELECT t.name AS username,

c.label AS project,

c.description AS ds

FROM

  teacher AS t ,

classes AS c

WHERE

t.project = c.label;

JION   查询

Join 左边为左表

Join 右边为右表

Inner为内关联查询  取两表交集

SELECT * FROM student INNER JOIN home WHERE home.id = student_id

左关联查询   所有学生对应的宿舍

SELECT * FROM student LEFT JOIN home ON home.id = student_id

右关联查询   所有宿舍对应的学生

SELECT * FROM student RIGHT JOIN home ON home.id = student_id

模糊查询  LIKE

SELECT *FROM student WHERE name LIKE “李%”

 

索引

索引分类:

普通索引:就是一个普通的索引 可以空  可以重复

ALTER TABLE teacher ADD INDEX(COLUMN);

唯一索引:可以空,不可以重复

ALTER TABLE teacher ADD UNIQUE(column)  句式  (字段)

ALTER TABLE teacher ADD PRIMARY KEY(COLUMN)

主键索引 不可为空  不可以重复

ALTER TABLE teacher ADD PRIMARY KEY(COLUMN)

多列索引

ALTER TABLE teacher ADD INDEX (column1,column,column3)

试图

试图的设立

需求:

查询所有姓孙的女生

Select * from student where name like “孙%”;

创建:将该查询形成试图

CREATE VIEW student AS (select * from student where name like ”sun%”);

查看所有试图

SHOW TABLE STATUS WHERE COMMENT = “view”;

删除试图

DROP VIEW student_sun;

 

触发器

创建触发器

DELIMIER || 声名 mysql 的结束符,默认结束符是;

CREATE TRIGGER tb2_auto_add AFTER INSERT

ON tb1 FOR EACH ROW BEGIN

insert into tb2(name,age) value ("老王",18);

end

||

DELIMITR ;声名mysql的结束符 ,默认结束符数;

触发器的语句分析

CREATE TRIGGER tb2_auto_add AFTER INSERT

ON tb1 FOR EACH ROW

BEGIN

insert into tb2(name,age) value ("老王",18);

end

 

create 创建

trigger 触发器

tb_auto_add 触发器名称.必须有意义

AFTER 触发时间

AFTER 在触发时间之后

BEFOR 在触发器之前

INSERT 触发的条件

 

UPDATE 更新事件

DELETE 删除事件

INSERT 插入事件

EACH ROW 任意一行

BEGIN 开始编写事件

insert into tb(name,age)value("老王",18), 触发的时间

END 触发时间结束

 

查看触发器

触发器信息都存放在information_schema 数据库当中的trigger表中

select * frominformation_schema.triggers;

 

删除触发器

drop trigger tirggerName

 

猜你喜欢

转载自blog.csdn.net/weixin_44303465/article/details/88650303
今日推荐