用root账号管理其他用户

#创建用户

mysql> create user 'jasonhz'@'localhost' identified by '123456';

#给用户授权

mysql> grant all privileges on myschool.* to 'jasonhz'@'localhost';

#刷新授权

mysql> flush privileges;

#更改用户密码

mysql> set password for 'jasonhz'@'localhost' = password('111222');

#删除用户

mysql> drop user 'jasonhz'@'localhost';

SQL语句(Structured Query Language 结构化查询语言)

DDL (Data Definition Language 数据定义语言) 如:CREATE DROP ALTER

DML( Data Manipulation Language 数据操纵语言) 如: INSERT UPDATE DELETE

DQL(Data Query Language 数据查询语言) 如:SELECT

DCL(Data Control Language 数据库控制语言) 如:GRANT COMMIT ROLLBACK

DDL (Data Definition Language 数据库定义语言)

#创建数据库

mysql> create database if not exists hzdb;

#使用数据库

mysql> use hzdb;

#查看所有可访问的数据库

#除了hzdb是自己创建的,mysql系统中有四个默认的库 information_schema 、 mysql、performance_schema、sys

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| hzdb |

| mysql |

| performance_schema |

| sys |

+--------------------+

#删除数据库

mysql> drop database hzdb;

#查看数据库支持的引擎

mysql> show engines;

#查看数据库默认的引擎

mysql> show variables like '%storage_engine%';

#查看当前数据库的编码

mysql> show variables like '%char%';

#创建表

mysql> create table person(

-> `id` int(4) primary key auto_increment comment '编号',

-> `name` varchar(50) not null default '无名氏' comment '姓名',

-> `address` varchar(100) comment '地址'

-> )engine=innodb default charset=utf8 comment='人员信息';

#查看所有表

mysql> show tables;

#查看表的结构

mysql> desc person;

+---------+--------------+------+-----+-----------+----------------+

| Field | Type | Null | Key | Default | Extra |

+---------+--------------+------+-----+-----------+----------------+

| id | int(4) | NO | PRI | NULL | auto_increment |

| name | varchar(50) | NO | | 无名氏 | |

| address | varchar(100) | YES | | NULL | |

+---------+--------------+------+-----+-----------+----------------+

#修改表名

mysql> alter table person rename student;

#添加字段

mysql> alter table student add `phone` varchar(13) comment '电话';

#修改字段属性,不能修改表名

mysql> alter table student modify `phone` int(11);

#修改字段,同时修改表名

mysql> alter table student change `phone` `tel` varchar(50) not null;

#删除字段

mysql> alter table student drop `tel`;

#删除表,删除数据要慎重

mysql> drop table student;

DML( Data Manipulation Language 数据操纵语言)

#添加数据

mysql> insert into student (`id`,`name`) values ('1','张三');

mysql> insert into student (`id`,`name`) values ('4','张三'),('6','李四'),('8','王五');

#修改数据

mysql> update student set `name`='李靖' where id=1;

#删除数据

mysql> delete from student where id=1;

#删除所有数据,两种方法

mysql> delete from student;

mysql> truncate table student;

DQL(Data Query Language 数据查询语言)

(有需要sql脚本做练习的请联系我)

#基本查询:

#查询student表中全部信息

mysql> select * from student;

#通过student表,查询`studentNo`,`studentName`,`phone`,`address`,`birthday`字段的信息

mysql> select studentNo, studentName, phone, address, birthday from student;

#通过student表,查询`studentNo`,`studentName`,`phone`,`address`,`birthday`字段的信息,使用as重命名列名显示

mysql> select studentNo as 学号,studentName as 姓名,phone as 电话,address as 地址,birthday as 生日 from student;

#查询email值为null的空行

mysql> select * from student where email is null;

#把成绩都降低10%后加5分,再查询及格成绩,并按照成绩从高到低排序(order by)

mysql> select studentNo as 学号, (studentResult*0.9+5) as 成绩 from result where (studentResult*0.9+5)>60 order by studentResult desc;

#查询所有年级编号为1的学员信息,按学号升序排序,从第5条记录开始显示4条数据(limit)

mysql> select * from student where gradeId=1 order by studentNo asc limit 4,4;

#编写SQL语句,查看年龄比“李斯文”小的学生,要求显示这些学生的信息

mysql> select studentName, birthday from student where birthday>(select birthday from student where studentName='李斯文');

#查询参加最近一次Logic Java考试成绩的学生的最高分和最低分

mysql> select max(studentResult) 最高分,min(studentResult) 最低分 from result where examDate=(select max(examDate) from result where subjectNo=(select subjectNo from subject where subjectName='LogicJava'));

#查询“LogicJava”课程考试成绩为60分的学生名单(采用 IN 子查询 )

mysql> select studentNo, studentName from student where studentNo in(select studentNo from result where subjectNo=(select subjectNo from subject where subjectName='LogicJava'));

#查询参加“LogicJava”课程最近一次考试的在读学生名单

mysql> select studentNo, studentName from student where studentNo in( select studentNo from result where examDate=(select max(examDate) from result where subjectNo=(select subjectNo from subject where subjectName='LogicJava')));

#查询未参加“LogicJava”课程最近一次考试的在读学生名单(not in)

mysql> select studentNo, studentName from student where studentNo not in( select studentNo from result where examDate=(select max(examDate) from result where subjectNo=(select subjectNo from subject where subjectName='LogicJava')));

#查询大一学期开设的课程

mysql> select subjectName from subject where gradeId=(select gradeId from grade where gradeName='大一');

#查询未参加“HTML”课程最近一次考试的在读学生名单

mysql> select studentNo, studentName from student where studentNo not in( select studentNo from result where examDate=(select max(examDate) from result where subjectNo=(select subjectNo from subject where subjectName='HTML')));

#高级查询:

#查看没有参加考试的学生

mysql> select studentName from student where studentNo in (select studentNo from result where studentResult is null);

#检查“LogicJava”课程最近一次考试成绩,如果有80分以上的成绩,显示分数排在前5名的学员学号和分数

mysql> select studentNo, studentResult from result where exists (select studentResult from result where examDate=(select max(examDate) from result where subjectNo=(select subjectNo from subject where subjectName='LogicJava')) and studentResult > 80) order by studentResult desc limit 5;

#检查“Logic Java”课程最近一次考试成绩,如果全部通过考试(60分及格)计算的该次考试平均分减5分

mysql> select avg(studentResult)-5 平均分 from result where exists(select studentResult from result where examDate=(select max(examDate) from result where subjectNo=(select subjectNo from subject where subjectName='LogicJava')) and studentResult > 60);

#如果有大一的学生,就查询参加大一学科考试的学员学号、科目编号、考试成绩,考试时间

mysql> select studentNo 学号, subjectNo 科目编号, studentResult 成绩, examDate 考试时间 from result where exists (select studentNo from student where gradeId=(select gradeID from grade where gradeName='大一'));

#查询每门课程的平均分,并且按照分数由高到低的顺序排列显示(分组查询)

mysql> select subjectNo 课程编号,avg(studentResult) 平均分 from result group by subjectNo order by avg(studentResult) desc;

#分别统计每个年级男、女生人数

mysql> select count(*) 人数, sex 性别 from student group by sex;

#如何获得课程平均分及格的课程编号?(分组筛选语句)

mysql> select subjectNo 课程编号,avg(studentResult) 平均分 from result group by subjectNo having avg(studentResult)>80;

#查询出学生姓名,学生的年级,学生的课程,考试分数,考试时间字段的学生信息(多表查询)

mysql> select studentName 姓名, gradeName 年级, subjectName 课程,studentResult 成绩,examDate 考试时间 from student inner join grade on student.gradeId = grade.gradeID inner join subject on student.gradeId=subject.gradeID inner join result on student.studentNo=result.studentNo;

DCL(Data Control Language 数据库控制语言)

#事务处理,只支持innodb和bdb类型的数据表

#关闭自动提交,同时开启一个事务

mysql> set autocommit=0;

mysql> update acc set `money`=`money`-500 where `name`='Tom';

mysql> update acc set `money`=`money`+500 where `name`='Jerry';

#提交,将数据写入到数据库保存

mysql> commit;

#回到事务处理前的状态,如果已经提交成功,则回滚无效

mysql> rollback;

#打开自动提交

mysql> set autocommit=1;

数据库备份与恢复

#使用mysqldump备份

$ > mysqldump -u root -p myschool > /users/jason/myschool.sql;

#使用source恢复

mysql> use testdatabase;

mysql> source /user/jason/myschool.sql;

mysql+control+user_mysql的基本使用相关推荐

  1. windows进入mysql改user_mysql:Windows修改MySQL数据库密码(修改或忘记密码)

    今天练习远程访问数据库时,为了方便访问,就想着把数据库密码改为统一的,以后我们也会经常遇到MySQL需要修改密码的情况,比如密码太简单.忘记密码等等.在这里我就借鉴其他人的方法总结几种修改MySQL密 ...

  2. MySQL Control Flow Functions(控制流)

    名称 描述 CASE Case operator IF() If/else construct IFNULL() Null if/else construct NULLIF() Return NULL ...

  3. mysql删除user_MySQL删除用户( DROP USER)

    在本教程中,您将学习如何使用MySQL DROP USER语句来删除用户帐户. MySQL DROP USER语句介绍 要删除一个或多个用户帐户,请按如下所示使用DROP USER语句: DROP U ...

  4. mysql修改user_MySQL修改用户(RENAME USER)

    程序员如何写简历才能脱颖而出? 工作十余年下来,我参与过很多次招聘,看过很多程序员的简历,却发现少有让人满意的. 回顾自己上次投简历已是六七年前,再一想当年的简历却也不禁摇头叹息.如今,站在求职的另一 ...

  5. windows 处理bat连接本地mysql

    这篇文章主要介绍了windows 批处理bat连接本地mysql 创建制定数据 并执行sql文件,需要的朋友可以参考下 实例代码 @echo off set path=C:\Program Files ...

  6. 图解MySQL数据库的安排和把持-1

    前导发端:网海拾贝 一.MySQL下载与安排 1.下载引见 MySQL置信人人一定风闻过,要是不晓得它是干什么的,可以去google一下. MySQL的大本营:http://www.mysql.com ...

  7. phpstud如何安装mysql新版_MySQL_图解MySQL数据库的安装和操作,一、MySQL下载与安装 1、 - phpStudy...

    图解MySQL数据库的安装和操作 一.MySQL下载与安装 1.下载介绍 MySQL相信大家一定听说过,如果不知道它是干什么的,可以去google一下. MySQL的大本营:http://www.my ...

  8. IS环境下配置PHP5+MySql+PHPMyAdmin

    IIS环境下配置PHP5+MySql+PHPMyAdmin Posted on 2009-08-07 15:18 谢启祥 阅读(1385)评论(18) 编辑 收藏 虽然主要是做.net开发的,但是,时 ...

  9. Eclipse+JBoss+MySQL开发环境设置全攻略

    J2EE是很好的.作为开发环境,如果采用经典配置:JBuilder+Weblogic+Oracle,自是得心应手,但价格是惊人的.此配置主要是针对大型或超大型应用,硬件要求也很高,针对国内以中小型应用 ...

最新文章

  1. Synchronize锁粒度
  2. 【运维安全】-HTTP协议
  3. linux qt 甘特图,qt绘制甘特图
  4. keras用cpu加速_GPU训练加速原理(附KerasGPU训练技巧)
  5. 以太网交换机erps学习记录
  6. matlab作函数图像,matlab绘制函数图像
  7. 医学系统(一)医院常用的软件系统:PACS系统、HIS系统、RIS系统、LIS系统、CIS系统
  8. 哲学的终极解释:48张图了解48种主义
  9. 逻辑清晰四个实用原则(金字塔原理)
  10. 软件测试 边界值法的实例,边界值分析法实例
  11. python三引号作用是什么_python中三引号的作用(逗号的两点总结)
  12. c语言编码rna翻译,哪位大牛有哈夫曼编码的C语言源程序,麻烦帮帮忙啦!
  13. Word论文写作公式居中、编号右对齐设置
  14. TP50、TP90、TP99、TP999
  15. Kafka入门教程及安装
  16. 牛客网小白月赛5 H-最大公约数(lcm)
  17. 传《斗战神》美术创作婉拒暴雪挖角 中国游戏人缺少这份傲骨
  18. 笔试题-跳格子游戏,Java代码
  19. [DirectX12学习笔记] 环境光遮蔽
  20. 如何在Windows上安装Ghost

热门文章

  1. 图像灰度图,直方图,像素通道问题
  2. mfc编程消息机制中消息汇总
  3. uni-app定时器清除问题
  4. IOS之通知KVO的常量定义
  5. import cv2时ImportError: libjasper.so.1: cannot open shared object file: No such file or directory
  6. 剑指offer(12)旋转数组的最小数字
  7. linux内核grub的作用与用途,linux中grub是干嘛的
  8. mysql-odbc的zip安装方法_win10环境下mysql-odbc的zip安装方法
  9. php与java的关系_PHP基本语法以及和Java的区别
  10. python 映射和反映射_python映射类型的相关介绍