mysql学生的姓名改为a_最初学习mysql的一些操作留存

一:数据库的初始话操作

mysql -u root -p    //数据库的登陆

show databases;    //展现数据哭中存储的所有文件

use 数据库名;        //进入当前要错做的数据库中

creat database 数据库名;    //创建一个新的数据库文件

drop database 数据库名;    //删除已经存在数据库文件

二:数据库的表操作

//为当前选定的数据库创建一个表

create table t_user(

id int,

name varchar(20),

sal double(5,3),

birthday datetime,

hiredata timestamp

);

show tables;//查看所有表名

desc 表名;    //查看表名中存放的数据

drop table 表名;//删除选择的表

alter table 表名 add 列名 类型;//给选定的表增加一行新的信息

alter table t_user add newname varchar(20);

alter table 表名 modify 列名 类型;//将原有的列类型进行修改

alter table t_user modify newname photh;

alter table 表名 change 旧的列名 新的列名 数据类型;//将列名更改

alter table t_user change  newname image varchar(20);

alter table 表名 drop 列名;

alter table t_user drop image;

rename table 旧表名 to 新表名;

rename table t_user to t_empoyee;

三:列的约束

保证数据的完整性

1、非空约束    not null 指定非空约素的列,再插入记录时,必须包含值。

2、唯一约束 unique        该列的内容在表中,值是唯一的

3、主键约束    primary key

当想要吧某一列的值,作为该列的唯一标识符,可以指定主键约素。

注意:一张表中只能有一个主键约素

四:对表中的数据进行增删改查

1、为表添加数据

insert into 表名[(列名1,列名2)] values (值1,值2);

insert into t_user(name,email) values('tom','tom@163.com');

insert into t_user valuse ('神殇','1179672922');

修改存储编码:

set character_set_client=gbk;

修改结束数据

set character_set_results=gbk;

2、修改表中存储的数据

update 表名 set 列名='新的数据',列名='新的数据' while 条件

update 表名 set name='新的数据' while id=3;

上面的翻译:当数据库中某项内容的id 为3的时候将这一项中的name存储的信息修改为‘新的数据’

多项那内容修改:

update employee set salary=4000,job='sss' while name='zs';

对未知属性修改

update employee set salary=salary+1000,job='ddd' while name='ww';

3、删除表记录

delete from 表名 while 条件

delete from emeployee while name='rose';//删除指定的表数据

delete from employee;    //删除表中的所有数据-->注意这种删除不是在文件中完全删除,可以进行恢复

实例:

delete from employee while name="ww";

删除整张表的数据:

truncate table employee;    //-->注意这种删除是从硬盘上将表数据完全删除掉,不可恢复

。;

4、DQL语句(DML) 查询语句 --> 重点

语法:

select selection_list     要查询的列名称

from table_list     要查询的表名称

while condition        行条件

group by grouping_columns     对结果分组

having condition     分组后的行条件

order by sorting_colums        对结果排序

limit offset_start, row_count        结果限定

自己使用实例:

1、select * from 表名        // 查询表中的所有数据

select 列名,... from 表名//查询表中某一列或多列的数据

条件查询:

条件查询就是在查询时给出WHERE子句,在WHERE子句中可以使用如下运算符及关键字:

?    =、!=、<>、、>=;

?    BETWEEN…AND;

?    IN(SET)/NOT IN(SET)    //set表示集合,代表多种条件的判断的集合

?    IS NULL/IS NOT NULL

//---条件连接符

?    AND; &&

?    OR;  ||

?    NOT; !

例子:查询性别为女,并且年龄小于50的记录

select * from stu where gender='female'  and age<50;

模糊查找

where 字段 like '表达式';

% => 通配 通配任意个字符(指的是任意长度的任意一段字符)

_ => 通配 通配单个字符    (值得是一个长度的任意一个字符)

说明:like 条件后 根据模糊查询表达式,"_"==>代表一个任意字符

排序

关键词:order by

升序:asc

降序:desc

语法:列名 order by 升降序

limit mysql专属语言

limit用于限定查询结果的起始行,以及总行数

例子:

查询5行记录,从0行开始

select    * from emp limit 0,5;

查询10行记录,从3行考试

select * from emp limit 3,10;

如果一页记录为5条,希望查看第3页记录:

select * from limit 10,5;

3.1查询姓名由5个字母构成的学生记录

SELECT * FROM stu WHERE sname LIKE "_____";

3.2查询姓名由5个字母构成,并且第5个字母为“i”的学生记录

SELECT * FROM stu WHERE sname LIKE "____i";

3.3 查询姓名以“z”开头的学生记录

说明: "%"该通配符匹配任意长度的字符.

SELECT * FROM stu WHERE sname LIKE "z%";

3.4查询姓名中第2个字母为“i”的学生记录

SELECT * FROM stu WHERE sname LIKE "_i%";

3.5 查询姓名中包含“a”字母的学生记录

SELECT * FROM stu WHERE sname LIKE "%a%";

4.1  去重重复记录

SELECT DISTINCT gender FROM stu;

4.2  查看雇员的月薪与佣金之和

SELECT ename,sal+comm FROM emp;

SELECT ename,sal+IFNULL(comm,0) AS "月收入" FROM emp;

4.3  给列名添加别名

SELECT ename "姓名",sal+IFNULL(comm,0) "月收入" FROM em

SELECT ename AS "姓名",sal+IFNULL(comm,0) AS "月收入" FROM emp;

5.1  查询所有学生记录,按年龄升序排序

SELECT * FROM stu  ORDER BY age ASC;

5.2  查询所有学生记录,按照年龄降序排序

SELECT * FROM stu  ORDER BY age DESC;

5.3  查询所有雇员,按月薪降序排序,如果月薪相同时,按编号升序排序

SELECT * FROM emp ORDER BY sal DESC , empno ASC;

SHOW DATABASES;

USE SECOND;

SHOW TABLES;

DESC emp;

SELECT * FROM emp;

6.1  COUNT

当需要总想统计时可以使用count().

1>查询emp表中记录数:

SELECT COUNT(*) FROM emp;

2>查询emp表中有佣金的人数:

SELECT COUNT(*)"数量" FROM emp WHERE comm IS NOT NULL AND comm>0;

3>查询emp表中月薪大于2500的人数:

SELECT COUNT(*)"人数" FROM emp WHERE sal>2500;

4>统计月薪与佣金纸盒大于2500的人数:

SELECT COUNT(*)"人数" FROM emp WHERE sal+IFNULL(comm,0) >2500;

5>查询有佣金的人数并且有领导的人数:

SELECT COUNT(*) FROM emp WHERE comm IS NOT NULL AND comm!=0 AND mgr IS NOT NULL;

6.2  SUM(计算总和)和 AVG(计算平均值)

当需要纵向求和使用 SUM()函数

1>查询所有雇员月薪和:

SELECT SUM(sal)"月薪和" FROM emp;

2>查询所有雇员月薪和,以及所有雇员佣金和:

SELECT SUM(sal),SUM(comm) FROM emp;

3>查询所有雇员月薪+佣金和:

SELECT SUM(sal)+SUM(comm)"总和" FROM emp;

4>统计所有员工平均工资

SELECT AVG(sal)平均工资 FROM emp;

6.3  MAX 和 MIN

查询最高工资个最低工资

SELECT MAX(sal),MIN(sal) FROM emp;

查询每个部门编号和每个部门的工资和

SELECT deptno,SUM(sal) FROM emp GROUP BY deptno;

查询每个部门的编号及每个部门的人数:

SELECT deptno,COUNT(empno) FROM emp GROUP BY deptno;

查询每个部门的编号及每个部门工资大于1500的人数

SELECT deptno,COUNT(sal>1500) FROM emp GROUP BY deptno;

SELECT deptno,COUNT(empno) FROM emp WHERE sal>1500 GROUP BY deptno ;

查询工资总和大于9000的部门编号及工资总和

SELECT deptno,SUM(sal) FROM emp GROUP BY deptno HAVING SUM(sal)>9000;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值