mysql数据库sql语法_Mysql数据库SQL语句整理

这篇博客详细介绍了如何使用MySQL进行用户创建、权限授予、数据库和表的操作,包括创建、删除、修改表结构以及数据操作。同时,还涉及到权限的撤销和外键的管理。此外,还展示了SQL查询示例,用于查找特定条件下的学生记录。
摘要由CSDN通过智能技术生成

mysql [-h host] -u root -p 连接MySQL

-h host:host代表要连接的主机地址 可以省略

-u root:root为MySQL中的管理员用户名

-p :root用户对应的密码

#创建用户

CREATE USER ‘用户名’[@ ‘主机地址’][ IDENTIFIED BY ‘密码’];

[]:为可省略部分,如果省略了主机地址 默认为 % ;如果省略了密码,

该用户没有密码!

#创建MySQL用户cmy

CREATE USER ‘cmy’@’%’ IDENTIFIED BY‘123’;

#授予cmy用户全部权限

GRANT ALL ON *.* TO ‘cmy’@’%’;

#刷新权限 立即生效

FLUSH PRIVILEGES;

#删除用户

DROP USER ‘用户名’@‘主机地址’;

#创建数据库 `` 作用将数据库名|表名和数据库的关键字区分开 可有有无

CREATE DATABASE ‘数据库名’;

#展示数据

SHOW DATABASES;

#切换数据库

USE ‘数据库名’;

#删除数据库

DROP DATABASE ‘数据库名’;

(1)修改表名

ALTER TABLE 旧表名RENAME 新表名;

(2)修改字段的数据类型

ALTER TABLE 表名MODIFY 字段名 数据类型;

(3)修改字段名

ALTER TABLE 表名CHANGE 旧字段名 新字段名 新数据类型;

(4)添加字段

ALTER TABLE 表名ADD 新字段名 数据类型;

(5)删除字段

ALTER TABLE 表名DROP 字段名;

(6)给表设置主键约束 约束名:PK_列名

ALTER TABLE 表名ADD CONSTRAINT 约束名 PRIMARY KEY 表名(`列`)

(7)给表设置外键约束

ALTER TABLE 从表ADD CONSTRAINT 约束名 FOREIGN KEY(`从表的外键`)REFERENCES `主表` (`主键`);

(8)删除数据表(表结构和数据都不保留)

DROP  TABLE 表名;

(9)删除数据表(表结构保留、数据不保留)

TRUNCATE 表名;

(10)撤销用户权限

revoke  all on *.* from 'root'@'192.168.0.197' ;

(11)删除外键

ALTER TABLE test2 DROP FOREIGN KEY FK_tnum;

(12)删除主键

ALTER TABLE test DROP PRIMARY KEY;

#查询Java基础考试的成绩是否存在大于80分的学生,如果存在打印所有人

SELECT stuname,stuid FROM student s WHERE EXISTS(

SELECT stuid,score,sid FROM result r WHERE sid=

(SELECT sid FROM SUBJECT WHERE sname='Java基础')

AND score >60 AND s.`stuid`=r.`stuid`

);

#查询Java基础考试的成绩是否存在大于80分的学生,如果存在打印前三人

SELECT s.stuname,s.stuid,r.score,r.sid FROM student s

INNER JOIN result r ON s.`stuid`=r.`stuid`

WHERE EXISTS(

SELECT stuid,score,sid FROM result r1 WHERE score >70

AND r1.sid=(SELECT sid FROM SUBJECT WHERE sname='Java基础')

AND r.`stuid`=r1.`stuid` AND r.`sid`=r1.`sid`

)ORDER BY score DESC LIMIT 3;

#检查Java基础考试的成绩是否存在小于80分,如果有,则所有成绩+5分,直至>=80分

UPDATE result SET score=score+5 WHERE EXISTS(

SELECT stuid,score,sid FROM (SELECT * FROM result) tmp WHERE `sid`=

(SELECT sid FROM SUBJECT WHERE sname='Java基础')

AND tmp.score <80 AND tmp.stuid=result.`stuid` AND tmp.sid=result.`sid`

);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值