JAVA基础--MySQL
环境信息
安装环境 :Ubuntu 14 Desktop(桌面版)
m安装版本 :MySQL 5.7.23
安装步骤
linux环境下安装过程很简单 三条命令行即可安装完成:
1. sudo apt-get install mysql-server
2. apt-get isntall mysql-client
如果在win平台下安装需要配置环境变量否则在控制台下是无法直接使用mysql命令的
安装成功之后使用命令 mysql -u -p 登陆 -u后面跟Mysql的用户名-p后面跟密码 当然也可以选择数据库监听端口 例如 mysql -uroot -p3307 ,输入后会提醒用户输入密码
简单操作
创建数据库用户:
首先,mysql数据库用户创建都是‘用户名@网络地址’这种格式来创建的 所以创建 同网段用户的时候可以用命令:
create user ‘abc’@‘123’ identifind by ‘456’
这种方式来创建 最后跟的是密码,该地址用户可以登陆数据库,若全网段用户均可访问则输入‘用户名@%’即可,但还需要配置一下用户权限问题如下:
grant create,delete,select,update,insert on db1.* to 'abc@123'
分配给abc@123 这个用户 db1这个库下的所有表 创建,删除,查询,修改,插入权限,若配置全部权限则输入 all privileges 即可。
数据库操作主要增删改查,其余命令稍后记录这里记载一些常用以及某些关键字作用与区别:
1.show databases;不要忘记家S ,显示数据库列表
2.use XXX; 例如 use mysql;选择数据库,相当于存储过程开始时use 表 一样
3.show tables;显示当前库列表
4.create database db1 charset utf8;db1数据库,并设置字符编码采用utf8编码
5. show create database db1;显示创建db1的sql语句
6.alter database db1 charset gbk;修改数据库编码方式为GBK
7.drop database db1;删除数据库,注意删除之后不可恢复
MySQL基础知识
基本术语:row:行 ,column:列,record:记录,field:字段,database:库,tabe:表,schema:库。
数据库引擎
innodb(默认存储引擎)
1.支持事务
2.支持外键
3.行级锁
myisam
1.不支持事务
2.不支持外键
3.表级锁
4.查询较多建议该引擎 ,增删改不建议
memory
1.常住内存
2.数据库重启等操作,数据消失
数据类型
数字
unsigned 无符号类型,没有负数
zerofill 用0填充结合位数设置使用
例如 xx int(5) zerofill 则显示成5位,不足5位前面补0,超过5位则只显示5位
tinyint 1字节 , smallint 2字节, int 4字节,bigint 8字节, float 4字节,double 8字节,decimal 定点数 例如 decimal(m,n) 精确显示数字 m(字节量)+小数位数量
字符串
char(n) 定长字符串 n一般不会超过255个字符
varchar(n) 变长字符串 n 字符上线为65535 ,如果字符长度大于等于255则需要一个额外得字节来保存数据长度,若小于255则需要两个额外字节来保存长度
text 最大存储65535字符串
日期
datetime :年月日时分秒 date :年月日 time: 时分秒 timestamp: 时间戳 时间只到2038年,随着其他字段修改而自动更新,插入数据时候会自动填入时间
表操作
首先,修改 db1 下 编码格式为 utf8 稍后用到
alter database db1 charset utf8;
其次选择 db1 下创建表 tb1 注意区分
use db1;
create table tb1(name varchar(20),gender char(1))engine = innodb , charset = utf8;
show tables;
查看表结构命令
desc tb1;
查看建表语句并纵向显示
show create table tb1\G
修改表名
rename table tb1 to user;
修改引擎以及编码格式
alter table user engine=myisam charset=GBK;
show create table user\G
添加新字段在第一行
alter table user add id int first;
添加新字段在指定字段后面
alter table user add email varchar(100) after name;
添加多行数据
alter table user add(age int,height decimal(3,2));
desc user;
修改字段名称
alter table user change gender sex char(1);
修改字段类型
modify sex varchar(2) NOT NULL DEFAULT 2;
修改字段顺序
modify email varchar(100) after id;//也可以用first 排列为第一个字段
删除字段
alter table user drop height;
删除表
drop table user;
drop table if exists user;//如果有这个表的话就会删除 稳妥方式
截断表,先删除再重新创建
truncate table user;
JAVA基础--MySQL的更多相关文章
- Java基础-MySQL数据库扫盲篇
Java基础-MySQL数据库扫盲篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数据库概述 1>.什么是数据库 数据库就是存储数据的仓库,其本质是一个文件系统,数据按 ...
- JAVA基础--MySQL(二)
数据库约束 1.基础限制 ① 单一表内字节量总和不能超过65535,null 占用一个字节空间 ② varchar存储255 以内字节占用一个字节表示长度,255以上自己则占用两个字节表示长度 ③ ...
- ava基础MySQL存储过程 Java基础 JDBC连接MySQL数据库
1.MySQL存储过程 1.1.什么是存储过程 带有逻辑的sql语句:带有流程控制语句(if while)等等 的sql语句 1.2.存储过程的特点 1)执行效率非常快,存储过程是数据库的服 ...
- Java基础知识➣发送Emai和访问MySQL数据库(七)
概述 Java程序发送 E-mail 十分简单,但是首先你应该在你的机器上安装 JavaMail API 和Java Activation Framework (JAF) .Java访问数据则需要 使 ...
- [JavaWeb基础] 003.JAVA访问Mysql数据库
上面两篇讲解了简单的JSP + Servlet的搭建和请求,那么后面我们肯定要用到数据交互,也就是操纵数据库的数据,包括对数字的增加,删除,修改,查询.我们就用简单的MySql来做例子 我们需要引入驱 ...
- [Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)
如若转载请注明出处: http://www.cnblogs.com/wang-meng/p/5898837.html 谢谢.上一篇发了一个找工作的面经, 找工作不宜, 希望这一篇的内容能够帮助到大 ...
- java 基础题 很基础, 很有趣
都是一些非常非常基础的题,是我最近参加各大IT公司笔试后靠记忆记下来的,经过整理献给与我一样参加各大IT校园招聘的同学们,纯考Java基础功底, 老手们就不用进来了,免得笑话我们这些未出校门的孩纸们, ...
- java基础-java核心知识库
本人从事java开发6年左右,主要从事互联网相关的开发,目前还是奋战在一线的码农,痛并快乐着.受互联网产品热潮的影响,关注高性能低成本架构,互联网开发框架,以下是我认为作为一个资深java程序员应该掌 ...
- Java基础题
问题: 1.请对比一下重载和重写的区别. 2.请对比一下接口和抽象类的异同. 3.写出一个单例模式,并说明其优点. 4.用过String.StringBuffer吗,说出他们的异同. 5.什么是值传递 ...
随机推荐
- ASP.NET Core中如何显示[PII is hidden]的隐藏信息
有时候我们在ASP.NET Core项目运行时,发生在后台程序中的错误会将关键信息隐藏为[PII is hidden]这种占位符,如下所示: 而知道这些关键信息,有时候对我们调试程序是非常重要的.所以 ...
- centOS 在线安装lnmp
CentOS7源码安装最新版LNMP环境 lnmp环境版本如下: 系统:CentOS 7 x86_64 NGINX:nginx-1.7.12 数据库:mariadb-10.0.13 PHP:php ...
- c# mvc webapi的put报405错误
程序在本机调试可正常修改,本机是iis11 放到服务器上,报错了:405.服务器iis7.0 返回的错误页面: <!DOCTYPE html PUBLIC "-//W3C//DTD X ...
- C语言----输入输出语句(基础篇二)
今天整理一下自己的基础篇输入和输出的理解,自己没有研究系统输入和输出函数,以后有时间在去深究,之前在别人的博客里面看到这么一句话分享给大家,“学习就是一个不断抄袭,模仿,练习和创新的一个过程”. 使用 ...
- docker-compose进阶
笔者在前文<Docker Compose 简介>和<Dcoker Compose 原理>两篇文章中分别介绍了 docker compose 的基本概念以及实现原理.本文我们将继 ...
- pacman 命令详解
Pacman 是一个命令行工具,这意味着当你执行下面的命令时,必须在终端或控制台中进行. 1.更新系统 在 Arch Linux 中,使用一条命令即可对整个系统进行更新:pacman -Syu 如果你 ...
- vue脚手架创建项目及常用配置
首先安装配置这两篇挺好的 https://www.cnblogs.com/lgx5/p/10732016.html https://blog.csdn.net/qiang510939237/artic ...
- vue组件5 组件和v-for指令
使用v-for遍历一个数组的时候,并且给定的数组变化时vue不会重复生成所有的元素,而是智能的找到需要更改的元素,并只改变这些元素 key属性可以告诉vue数组中的每个元素都应该与页面上的哪个元素相关 ...
- Vue学习之Webpack小结(十二)
一.nrm: nrm是专门用来管理和快速切换私人配置的registry; nrm提供了一些最常用的npm包镜像地址,能够让我们快速的切换安装包时候的服务器地址: 二.镜像: 原来 包 刚一开 ...
- 一、DES加密和解密
一.DES加密和解密 原文:http://www.jb51.net/article/51879.htm 还有其他文章 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 ...