接着上一张 安装完以后 我们不可能一直小黑窗的敲代码 有些麻烦 我这里使用的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;
创建数据库: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 表名;
查询表中的所有数据: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快。
用来查询数据
查询所有列: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;
今年冬天是物联网的寒冬 多个部门被裁了 不开森