MYSQL数据库教程二 图形化界面和基础

版权声明:记录上工作中的一些问题 https://blog.csdn.net/m0_37583098/article/details/85328394

接着上一张 安装完以后 我们不可能一直小黑窗的敲代码 有些麻烦  我这里使用的mysql数据库图形化工具是Navicat for MySQL

可以百度搜索下载 不过是需要注册破解的 

免注册破解中文版  百度云盘链接:https://pan.baidu.com/s/1Pt5tm1OJ-9RrAdkDsUUoTw 
提取码:n0t4 
复制这段内容后打开百度网盘手机App,操作更方便哦

正常的安装 没什么好说的 链接mysql 点击链接 选择MySQL

然后 给你的数据库链接起个名 密码就是你上章设置的不小于4位数的数据库密码。然后点击确定。

然后 点击数据库 出现系统数据库(数据库服务器自带的,自带的4个)

分别是:

information_schema:存储数据库对象信息
如用户表信息,列信息,根除,字符,分区
里面的内容我们不能动.

performance_schema:存储数据库服务器性能参数信息

mysql:存储数据库用户权限信息

sys:通过这个库可以快速的了解系统的元数据信息

常用语句:

创建数据库:create database 数据库名称;

删除数据库:drop database 数据库名称;

查看数据库:show databases;

使用数据库:use 数据库名;

查看数据库当中有多少张表:show  tables;

sql功能分类:

DDL:数据定义语言

创建数据库:create database 数据库名  character set utf8;

修改数据库:alter database 数据库名 charactor set gbk;

创建学生表: 

添加一列:ALTER TABLE 表名 ADD 列名 数据类型;

查看表的字段信息:DESC 表名;

修改一个表的字段类型:ALTER TABLE 表名 MODIFY 字段名  数据类型;

删除一列:ALTER TABLE 表名 DROP 字段名;

修改表名:RENAME TABLE 原始表名 TO  要修改的表名; 

查看表的创建细节:SHOW CREATE TABLE 表名;

修改表的字符集为gbk:ALTER TABLE 表名 CHARACTER SET 字符集名称;

修改表的列名:ALTER TABLE 表名 CHANGE 原始列名 新列名 数据类型;

删除表:DROP TABLE 表名;

DML:数据操作语言

查询表中的所有数据:SELECT * FROM 表名;

插入操作:INSERT INTO 表名(列名1,列名2 ...)VALUE (列值1,列值2...);

修改操作:UPDATE 表名 SET 列名1=列值1,列名2=列值2 。。。 WHERE 列名=值

删除操作:DELETE FROM 表名 【WHERE 列名=值】

TRUNCATE TABLE 表名;

DELETED 与TRUNCATE的区别:DELETE 删除表中的数据,表结构还在;删除后的数据可以找回

TRUNCATE 删除是把表直接DROP掉,然后再创建一个同样的新表。
删除的数据不能找回。执行速度比DELETE快。

DQL:数据查询语言

用来查询数据

查询所有列:SELECT * FROM 表名;

查询指定列的数据:SELECT 列名1,列表2... FROM 表名;
条件查询:

查询性别为男,并且年龄为20的学生记录:SELECT * FROM students WHERE gender='男' AND age=20;

查询学号为1001 或者 名为zs的记录:SELECT * FROM students WHERE id ='1001' OR name='zs';

查询学号为1001,1002,1003的记录:方法一:SELECT * FROM students WHERE id='1001' OR id='1002' OR 1001='1003';

方法二:SELECT * FROM students WHERE id  IN('1001','1002','1003');

方法三:SELECT * FROM students WHERE id NOT IN ('1001','1002','1003');

查询年龄为null的记录:SELECT * FROM students WHERE age IS NULL;

查询年龄在18到20之间的学生记录:方法一:SELECT * FROM students WHERE age>=18 AND age<=20;

方法二:SELECT * FROM students WHERE age BETWEEN 18 AND 20;

查询性别非男的学生记录:SELECT * FROM students WHERE gender !='男';

查询姓名不为null的学生记录:SELECT * FROM students WHERE  name IS NOT  NULL;
模糊查询

模糊查询必须使用LIKE关键字。其中 “_”匹配任意一个字母,5个“_”表示5个任意字母。

“%”匹配0~n个任何字母。

查询姓名由5个字母构成的学生记录:SELECT * FROM students WHERE name LIKE '_____';

查询姓名由5个字母构成,并且第5个字母为“s”的学生记录:SELECT * FROM students WHERE name LIKE '____s';

查询姓名以“m”开头的学生记录:SELECT * FROM students WHERE name LIKE 'm%';

查询姓名中第2个字母为“u”的学生记录:SELECT * FROM students WHERE name LIKE '_u%';

查询姓名中包含“s”字母的学生记录:SELECT * FROM stu WHERE name LIKE '%s%';

字段控制查询

去除重复记录:SELECT DISTINCT name FROM students;

把查询字段的结果进行运算,必须都要是数据型:SELECT *,字段1+字段2 FROM 表名;

年龄加成绩 结果输出:SELECT *,age+IFNULL(score,0) FROM students;

对查询结果起别名:AS  如:SELECT *, yw+IFNULL(sx,0) AS total FROM score;

排序

使用关键字ORDER BY

升序ASC

降序DESC

对所有员工的薪水进行排序:SELECT *FROM employee ORDER BY age ASC;

查询所有学生记录,按年龄降序排序:SELECT * FROM employee ORDER BY age DESC;

聚合函数:对查询的结果进行统计计算

COUNT():统计指定列不为NULL的记录行数;

查询员工表中月薪大于2500的人数:SELECT COUNT(*) FROM employee WHERE salary > 2500;

SUM():计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0;

查询所有雇员月薪和:SELECT SUM(salary) FROM employee;

AVG():计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0;

统计所有员工平均工资:SELECT AVG(salary) FROM employee;

MAX():计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算;

MIN():计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算;

查询最高工资和最低工资::SELECT MAX(salary), MIN(salary) FROM employee;

今年冬天是物联网的寒冬 多个部门被裁了 不开森

猜你喜欢

转载自blog.csdn.net/m0_37583098/article/details/85328394