MySQL基础
数据库的基本概念123456781. 数据库的英文单词: DataBase 简称 : DB2. 什么数据库? * 用于存储和管理数据的仓库。3. 数据库的特点: 1. 持久化存储数据的。其实数据库就是一个文件系统 2. 方便存储和管理数据 3. 使用了统一的方式操作数据库 -- SQL SQL分类 MySQL数据库、表、数据的关系 SQL1234567891011121314151617181920211.什么是SQL? Structured Query Language:结构化查询语言 其实就是定义了操作所有关系型数据库的规则。每一种数据库操作的方式存在不一样的地方,称为“方言”。2.SQL通用语法 1. SQL 语句可以单行或多行书写,以分号结尾。 2. 可使用空格和缩进来增强语句的可读性。 3. MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写。 4. 3 种注释 * 单行注释: -- 注释内容 或 # 注释内容(mysql 特有) * 多行注释: /* 注释...
JDBC - SQL注入问题
创建JDBCUtils类123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384package cn.imqinhao.util;import java.io.FileReader;import java.io.IOException;import java.net.URL;import java.sql.*;import java.util.Properties;public class JDBCUtils { private static String url; private static String user; private static String password; private static String driver; static { ...
MySQL中忘记了root用户的密码解决方法
停止MySQL服务 以管理员身份运行cmd命令行 1net stop mysql 用无验证方式启动MySQL服务 1mysqld --skip-grant-tables 此时光标闪烁,不要关闭cmd窗口,新打开一个cmd窗口。 打开新的cmd窗口登录数据库1mysql 修改密码12USE mysql;UPDATE user SET PASSWORD = PASSWORD("新的密码") where user = "root"; 关掉两个cmd窗口 将两个cmd窗口全部关掉,特别是执行了mysqld --skip-grant-tables命令的cmd窗口。 打开任务管理器 找到mysql.exe的进程,将其强制结束。 启动MySQL服务使用新密码登录数据库
MySQL DQL语句-1
创建表123456789CREATE TABLE student3 ( id INT, -- 编号 NAME VARCHAR(20), -- 姓名 age INT, -- 年龄 sex VARCHAR(5), -- 性别 address VARCHAR(100), -- 地址 math INT, -- 数学 english INT -- 英语); 插入数据1234567891011INSERT INTO student3(id,NAME,age,sex,address,math,english) VALUES (1,'马云',55,'男','杭州',66,78),...
MySQL 8解决timestamp类型插入数据不自动添加时间戳
解决MySQL 8创建表使用timestamp类型插入数据不自动添加时间戳的问题。 创建表的时候使用以下语句: 12345678CREATE TABLE student( id int, stu_name varchar(32), age int, score double(4,1), birthday date, insert_time timestamp); 创建成功之后我们尝试插入数据: 1INSERT INTO student(id,stu_name,age) VALUES(1,"宋祖儿",23); 接下来我们查询以下student表中的内容: 1SELECT * from...
Java - 判断方法的正确重载
判断哪些方法是重载关系 12345678public static void open(){} // 正确重载public static void open(int a){} // 正确重载static void open(int a,int b){} // 代码报错:和第8行冲突public static void open(double a, int b){} // 正确重载public static void open(int a, double b){} // 代码报错:和第6行冲突public void open(int i, double d){} // 代码报错:和第5行冲突public static void OPEN(){} // 代码正确不会报错,但是并不是有效重载public static void open(int i, int j){} // 代码报错:和第3行冲突
计算机内存数值存储方式
计算机内存数值存储方式原码一个数的原码(原始的二进制码)有如下特点: 最高位做为符号位,0表示正,为1表示负 其它数值部分就是数值本身绝对值的二进制数 负数的原码是在其绝对值的基础上,最高位变为1 下面数值以1字节的大小描述: 十进制数 原码 +15 0000 1111 -15 1000 1111 +0 0000 0000 -0 1000 0000 原码表示法简单易懂,与带符号数本身转换方便,只要符号还原即可,但当两个正数相减或不同符号数相加时,必须比较两个数哪个绝对值大,才能决定谁减谁,才能确定结果是正还是负,所以原码不便于加减运算。 反码 对于正数,反码与原码相同 对于负数,符号位不变,其它部分取反(1变0,0变1) 十进制数 反码 +15 0000 1111 -15 1111 0000 +0 0000 0000 -0 1111...
进制
进制进制也就是进位制,是人们规定的一种进位方法。 对于任何一种进制—X进制,就表示某一位置上的数运算时是逢X进一位。...
时间复杂度和空间复杂度
时间复杂度和空间复杂度算法效率的度量方式事后统计方法:这种方法主要是通过设计好的测试程序和数据,利用计算机计时器对不同的算法编制的程序的运行时间进行比较,从而确定算法效率的高低。 事前分析估算方法:在计算机程序编写前,依据统计方法对算法进行估算。 经过总结,我们发现一个高级语言编写的程序在计算机上运行时所消耗的时间取决于下列因素: 算法采用的策略,方案 编译产生的代码质量 问题的输入规模 机器执行指令的速度 由此可见,抛开这些与计算机硬件,软件有关的因素,一个程序的运行时间依赖于算法的好坏和问题的输入规模。(所谓的问题输入规模是指输入量的多少) 不同算法运行时间比较第一种算法: 123456789101112public class Test1 { public static void main(String[] args) { int sum = 0; long begin_time = System.currentTimeMillis(); for (int i = 1; i <=...
Python网络编程-文件下载器
服务器1234567891011121314151617181920212223242526272829303132333435363738import socketdef send_file(client_socket, client_addr): file_content = None # 接收消息 recv_data = client_socket.recv(1024).decode("gbk") print("%s 需要下载 %s" % (str(client_addr), recv_data)) # 打开文件 try: f = open(recv_data, "rb") file_content = f.read() f.close() except Exception as res: print("没有需要下载的文件(%s)" % recv_data) # 处理消息 if...