• Mysql数据库SQL语句整理


              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`
    );

  • 相关阅读:
    Oracle查看占用表空间最大的表(排序)
    Access denied for user 'test'@'%' to database 'mysql'
    DB2新建编目及删除编目
    DB2备份恢复schema
    Linux/Aix日常报错整理
    Oracle查看存储过程最后编辑时间
    No X11 DISPLAY variable was set
    数据库的数据进行改动,Cognos报表展示未及时更新
    Oracle数据库学习笔记_常用分区partition操作语句
    Oracle数据库学习笔记_sql 语句NVL()用法
  • 原文地址:https://www.cnblogs.com/TFE-HardView/p/11115246.html
Copyright © 2020-2023  润新知