使用show databases;就能列出你有权限操作的数据库名,如果你只有一个数据库权限,那么列出来的就是你当前的数据库名。
Ⅱ MySQL(2)数据库对象与应用
库建立好之后基本不动,和我们接触最频繁的是表. 建表就是声明字段的过程!
选择合适的类型[速度快 减少硬盘占用]
存储空间,还是存储范围有区别?
答案: 两者本质完全一样 ,只是在一些特殊情况下两者显示有区别(只是在显示的时候补全0的位数不一样)
实验
*zerofill 零填充(本字段同时即自动带有unsigned属性,因为负数不能零填充)
如 数字2在固定宽度4时 零填充 即为0002
M值是一个整数(固定宽度值),只有在字段有零填充zerofill属性时 规定M值才有意义!
M值只是 显示效果 ,不会影响实际数据值!
如M值为1,实际值255,一样会显示255
列可以声明默认值(推荐声明)
因为null无法和别的值比较
null = 0 返回null
null <> 0 返回null
null只能用is或is not比较 null is null当然对的。
例子:
【浮点型】有误差,不稳定!定点数更精确。
实际测试数据
Float(M,D)
M精度(总位数,不包含点) 精度值M 影响 存储的 值的范围.
D标度(小数位) 小数点后有几位(mysql比较特殊,mssql/oracle都不能指定)
testcolumn float(5,2) unsigned; 范围0到999.99
float(5,2)的范围-999.99到999.99
给float(5,2)这样的字段插入值在进位时有一些规矩:暂时没搞清楚,不是简单的四舍五入
插入值688.826实际是688.83 末尾6 进位
插入值688.825实际是688.83 末尾5 进位
插入值688.824实际是688.82 末尾4 舍去
插入值688.005实际是688.00
插入值688.015实际是688.01 末尾5 5前面是1 舍去
插入值688.025实际是688.02 末尾5 5前面是2 舍去
插入值688.035实际是688.03 末尾5 5前面是3 舍去
插入值688.045实际是688.04 末尾5 5前面是4 舍去
一般使用tinyint、char(1)、enum类型。
varchar(M)
M代表宽度 即可容纳的【字符数】 (并不是字节数) varchar占用的字节数与编码有关:
utf-8 一个汉字3字节英文字母1字节
对于utf8mb4号称占用4字节但是并不绝对(在utf8可以覆盖到的范围则仍然占用3字节)
utf8mb4最有优势的应用场景:存储emoji表情
例子:
性能太差,不推荐
MySQL在5.6.4版本之后,TimeStamp和DateTime支持到微妙
一个例子:
以如下这张表为例
show privileges 命令可以查看全部权限
查询时从user->db->table_pirv->columns_pirv依次验证,如果通过则执行查询。
本课程涉及建表SQL
场景1:歌单按时间排序
场景2:统计云音乐创建歌单的用户
场景3-1:统计云音乐创建歌单的用户列表和每人创建歌单的数量。
场景3-2:统计云音乐创建歌单的用户列表和每人创建歌单的数量,并且只显示歌单数量排序大于等于2的用户
SQL进阶语法-like
场景4:查询一个月内创建歌单(从第6行开始显示10条记录)
场景5:对于未录入歌曲的歌单(trackcount = null),输出结果时歌曲数返回0.
连接的作用是用一个SQL语句把多个表中相互关联的数据查出来
场景6:查询收藏“老男孩”歌单的用户列表
子查询:内层查询的结果作为外层的比较条件。一般子查询都可以转换成连接,推荐使用连接。
场景7:查询出没有用户收藏的歌单
场景8:老板想看创建和收藏歌单的所有用户,查询play_list和play_fav两表中所有的userid
实例还是上节中的那些表
场景1:查询每张专辑总的点播次数和每首歌的平均点播次数。
场景2:查询全部歌曲中的最大的播放次数和最小的播放次数。
场景2续:查询播放次数最多的歌曲
count(*) 和 count(1) 基本一样,没有明显的性能差异。
count(*) 和 count(song_name) 差别在于 count(song_name) 会除去song_name is null的情况
场景3:显示每张专辑的歌曲列表
实例:查询一个月内userid为1,3,5的用户创建的歌单
学生表:
用于更正成绩的触发器:
Ⅲ mysql8.0怎么建一个数据库
打开MySQL Workbench 8.0 CE软件,单击要启动的MySQL数据库连接
输入密码后,点击OK,进入数据库实例管理界面,可以看到很多数据库实例
Ⅳ 如何在mysql控制台中查看数据库表
显示mysql数据库表的内容需要把数据库中取到的sql内容用system.out.print。
以下是例子:
package test;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
/*使用JDBC连接数据库MySQL的过程
* DataBase:hj
* table:student
* */
public class Databasetest {
private static int count;
public static Connection getConnection() throws SQLException,
java.lang.ClassNotFoundException
{
//(1)加载MySQL的JDBC的驱动 Class.forName("com.mysql.jdbc.Driver");
//取得连接的url,能访问MySQL数据库的用户名,密码,数据库名
String url = "jdbc:mysql://127.0.0.1:3306/"+"hj?useUnicode=true&characterEncoding=utf8";
String username = "root";
String password ="";
//(2)创建与MySQL数据库的连接类的实例
Connection con = (Connection) DriverManager.getConnection(url, username, password);
return con;
}
public static void main(String args[]) {
try
{
//(3)获取连接实例con,用con创建Statement对象实例 sql_statement
Connection con = getConnection();
Statement sql_statement = (Statement) con.createStatement();
//插入语句
String sql = "insert into student(id,name,score)values(null,'梵蒂冈的发',99)";
count=sql_statement.executeUpdate(sql);
//(4)执行查询,用ResultSet类的对象,返回查询结果
String query = "select * from student";
ResultSet result = sql_statement.executeQuery(query);
System.out.println("student表数据如下:");
System.out.println("------------------------");
System.out.println("学号" + " " + "姓名" + " " + "成绩");
System.out.println("------------------------");
//对获得的查询结果进行处理,对Result类的对象进行操作
while (result.next())
{
int number=result.getInt("id");
String name=result.getString("name");
String score=result.getString("score");
//取得数据库中的数据 System.out.println("学号: " + number + " 姓名: " + name + " 成绩: " + score);
}
//关闭连接和声明 sql_statement.close();
con.close();
} catch(java.lang.ClassNotFoundException e) {
//加载JDBC错误,所要用的驱动没有找到
System.err.print("ClassNotFoundException");
//其他错误
System.err.println(e.getMessage());
} catch (SQLException ex) {
//显示数据库连接错误或查询错误
System.err.println("SQLException: " + ex.getMessage());
}
}
}
运行结果:
student表数据如下:
------------------------
学号 姓名 成绩
001 张三 90
Ⅳ Mysql Workbench查询mysql数据库方法
Mysql
Workbench是一款开源的数据库客户端,在IT行业这款开源的软件也是相当有名气的,很多使用musql的同仁都喜欢使用这款客户端工具。今天小编就跟大家一起去看看这款工具使用起来怎么样吧。
首先小编还是先从最开始说起,通过点击电脑开始→选择Mysql
Workbench,点击启动这个应用程序,当然看官也可以选择通过点击桌面快捷方式进入程序
通过前面配置的mysql
数据库链接,进行连接到mysql控制台,如下图小编选择已经配置好的链接进入到mysql数据库控制台
进入到数据库控制台后,在界面左侧下方显示的一个石油桶类似的图标旁边显示了数据库的数据库名。
鼠标移动到数据库上方,然后点击右键,可以看到一些针对数据库的常用操作。如下图
通过点击数据库名称旁边的展开按钮,可以看到table一个二级菜单,点击这个table,就可以展开对应数据库下方的所有数据表,如下图
在展开的数据表上方点击鼠标右键,可以针对数据表做的一些操作,如下图,小编选择第一个select
rows
limit
1000,查询出这个表格中的1000条数据。
您可能感兴趣的文章:mysql中workbench实例详解centOS下mysql
workbench安装配置教程Workbench通过远程访问mysql数据库的方法详解Ubuntu下mysql与mysql
workbench安装教程在Ubuntu
16.10安装mysql
workbench报未安装软件包
libpng12-0错误的解决方法MySQL
Workbench的使用方法(图文)解决MySQL
Workbench
gnome-keyring-daemon错误的方法分享MYSQL
ZIP免安装版配置步骤及图形化管理工具mysql-workbenchMySQL
WorkBench管理操作MySQL教程如何用workbench导出mysql数据库关系图
Ⅵ 查看当前mysql数据库实例中,支持的字符集有哪
分不同的类型,可按以下三种方式查询:
一、查看MySQL数据库服务器和数据库MySQL字符集。
命令:
mysql>showvariableslike'%char%';
三、查看MySQL数据列(column)的MySQL字符集。
命令:
mysql>showfullcolumnsfromcountries;