Java中两种常用的数据库: MYSQL     Oracle

MYSQL  :开源免费的数据库,小型的数据库。由瑞典MySQL AB 公司开发,适合中小企业使用,由C语言和C++编写的。已经被Oracle收购了MySQL6.x版本也开始收费。

Oracle   :收费的大型数据库,Oracle公司的产品。Oracle收购SUN公司,收购MYSQL。

MYSQL启动:

1.  登入mysql:

格式1:cmd>  mysql –u用户名 –p密码

例如:mysql -uroot –proot

格式2:cmd>  mysql --host=ip地址 --user=用户名 --password=密码

例如:mysql --host=127.0.0.1 --user=root --password=root

SQL通用语法

1.      SQL语句可以单行或多行书写,以分号结尾

2.      可使用空格和缩进来增强语句的可读性

3.      MySQL数据库的SQL语句不区分大小写,关键字建议使用大写

4.      例如:SELECT * FROM user。

5.      同样可以使用/**/的方式完成注释

6.      MySQL中的我们常使用的数据类型如下

数据库操作:database

创建数据库* create database 数据库名;

#创建数据库数据库中数据的编码采用的是安装数据库时指定的默认编码 utf8

CREATE DATABASE webdb_1;

查看数据库

show databases;

查看某个数据库的定义的信息:

show create database 数据库名;

show create database webdb_1;

删除数据库

drop database 数据库名称;

drop database webdb_2;

切换数据库:

use 数据库名;

数据表操作:table

create table 表名(

字段名类型(长度) [约束],

字段名类型(长度) [约束],

...

);

类型:

varchar(n)字符串

int        整形

double     浮点

date       时间

timestamp  时间戳

删除表格式:drop table 表名;

例如:drop table category;

修改表结构

/*

修改表添加列:alter table 表名 add 列名类型[长度] [约束];

*/

ALTER TABLE category ADD NAME INT;

/*

修改表修改列的类型长度及约束.:

alter table 表名 modify 列名类型[长度] [约束];

注意: 如果有数据,必须注意数据类型varchar-->int 容易有错误数据

*/

ALTER TABLE category MODIFY description INT;

ALTER TABLE category MODIFY description VARCHAR(20) NOT NULL;

/*

修改列名以及数据类型和约束:

alter table 表名 change 原列名新列名类型[长度] [约束];

*/

ALTER TABLE category CHANGE description descr INT;

插入表数据

往数据库表中插入数据:使用关键字 insert [into]

格式:

包含主键:insert into 表名(字段1,字段2,...) values(值1,值2,...);

主键自增,省略主键:insert into 表名(不包含主键) values(不包含主键);

-- 包含主键:insert into 表名(字段1,字段2,...) values(值1,值2,...);

INSERT INTO category (cid,cname) VALUES(1,"服装");

-- 主键自增,省略主键:insert into 表名(不包含主键) values(不包含主键);

INSERT INTO category (cname) VALUES("彩电");

批量插入数据

格式:

包含主键:insert into 表名(字段1,字段2,...) values(值1,值2,...),(值1,值2,...),(值1,值2,...)...

主键自增,省略主键:insert into 表名(不包含主键) values(不包含主键),(值1,值2,...),(值1,值2,...)...;

更新表数据,使用关键字 update(更新,修改) set(设置)

格式:

不带条件过滤,一次修改列中所有的数据

update 表名 set 字段名=字段值,字段名=字段值,...;

带条件过滤,使用关键字where

update 表名 set 字段名=字段值,字段名=字段值,... where 过滤条件;

删除表数据使用关键字 delete(删除) from(来自)

格式:

delete from 表名 [where 条件过滤];

delete from 表名删除表中的所有数据,但是不会删除主键自增

truncate table 表名;删除表中的所有数据,会删除主键自增,让主键自增重置重1开始

主键约束使用关键字 primary key

非空约束使用关键字 not null

-- 创建唯一约束的第一种格式,创建表时,在字段后直接给出

-- 添加的第一种方式,在列名之后直接添加

CREATE TABLE persons(

Id_P  INT  PRIMARY KEY,

LastName VARCHAR(255)  UNIQUE,

City VARCHAR(255)  NOT  NULL

);

-- 删除主键

-- ALTER TABLE Persons DROP PRIMARY KEY

-- 删除非空约束

ALTER TABLE persons MODIFY city VARCHAR(255);

删除唯一约束 ALTER TABLE Persons DROP INDEX 名称

定义约束的时候,如果没有创建名称,则名称为字符串

ALTER  TABLE  persons  DROP  INDEX  LastName;

MySQL数据库密码重置(扩展)

a.      停止mysql服务器运行输入services.msc 停止mysql服务

b.      在cmd下,输入mysqld   --console  --skip-grant-tables 启动服务器,出现一下页面,不要关闭该窗口

c.       新打开cmd,输入mysql -uroot  不需要密码

use mysql;

update user set password=password('abc') WHERE User='root';

d.      关闭两个cmd窗口

Mysql 基本用法的更多相关文章

  1. 【转载】 mysql explain用法

    转载链接:  mysql explain用法 官网说明:     http://dev.mysql.com/doc/refman/5.7/en/explain-output.html 参数:  htt ...

  2. 知识点:Mysql 基本用法之存储过程

    存储过程 一. 介绍 存储过程包含了一系列可执行的sql语句,存储过程存放于MySQL中,通过调用它的名字可以执行其内部的一堆sql 使用存储过程的优点: 用于替代程序写的SQL语句,实现程序与sql ...

  3. 知识点:Mysql 基本用法之视图

    视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的临时 ...

  4. 知识点:Mysql 基本用法之流程控制

    流程控制 一. 条件语句 if 语句实例: delimiter // CREATE PROCEDURE proc_if () BEGIN declare i int default 0; if i = ...

  5. 知识点:Mysql 基本用法之函数

    函数 MySQL中提供了许多内置函数 例如: sql 内置函数: 一.数学函数 ROUND(x,y) 返回参数x的四舍五入的有y位小数的值 RAND() 返回0到1内的随机值,可以通过提供一个参数(种 ...

  6. 知识点:Mysql 基本用法之触发器

    触发器 使用触发器可以定制用户对表进行[增.删.改]操作时前后的行为 注意:没有查询 一 .创建触发器 触发器基础语法: # 插入前 CREATE TRIGGER tri_before_insert_ ...

  7. 知识点:Mysql 基本用法之事务

    事务 事务用于将某些操作的多个SQL作为原子性操作,一旦有某一个出现错误,即可回滚到原来的状态,从而保证数据库数据完整性. 事务实例: create table user( id int primar ...

  8. Mysql基本用法-存储引擎-04

    MYSQL中只有 INNODB和BDB 类型的数据表才能支持事务处理!其他的类型是不支持的!(切记!) Mysql基本用法-存储引擎-02中的test_user表 和 phpcvs表 <?php ...

  9. ThinkPHP第十一天(关联模型使用,独立分组配置,MySQL concat用法)

    1.关联模型的使用 定义方式:新建一个类文件UserRelationModel.class.php Class UserRelationModel extends RelationModel{ pro ...

  10. mysql distinct 用法详解及优化

    本事例实验用表task,结构如下 MySQL> desc task; +-------------+------------+------+-----+-------------------+- ...

随机推荐

  1. 【BZOJ4367】[IOI2014]holiday假期 分治+主席树

    [BZOJ4367][IOI2014]holiday假期 Description 健佳正在制定下个假期去台湾的游玩计划.在这个假期,健佳将会在城市之间奔波,并且参观这些城市的景点.在台湾共有n个城市, ...

  2. 【BZOJ4597】[Shoi2016]随机序列 线段树

    [BZOJ4597][Shoi2016]随机序列 Description 你的面前有N个数排成一行.分别为A1, A2, … , An.你打算在每相邻的两个 Ai和 Ai+1 间都插入一个加号或者减号 ...

  3. 如何转义CSV文件中的逗号

    CSV全称是:Comma Separated Values 或者 Character Separated Values. 尽管第一种说法更常见,但我觉得还是第二种说法更确切一些,因为你可以使用其它字符 ...

  4. JavaScript-烂笔头

    JavaScript 对大小写敏感 注释单行用:// 注释多汗用:/* */ 声明变量:var 变量名 (未使用值来声明的变量,值为undefined) JavaScript 变量均为对象 可以使用关 ...

  5. Windows File 管理工具:junction And Subinacl

    junction.exe   是 Sysinternals 出品的命令行工具.使用前建议将其复制到%SystemRoot%/system32目录下 创建一个名为 D:/LINK 的[junction ...

  6. Exchange 2016 系统要求

    Exchange 2016 和早期版本的 Exchange Server 共存方案 Exchange 2016支持混合部署方案 Exchange 2016 的网络和目录服务器要求 目录服务体系结构: ...

  7. Powershell实现Telnet Port

    Telnet Port 脚本 $servers = get-content D:\ps\ServerIPAddress.TXT $portToCheck = '80' for($i=1;$i -le ...

  8. 解决EF6中表名变成复数的情况

    在用EF6 时,在进行数据调用的时候,总提示数据表名对象错误.. 解决此问题需要在继承DbContext的实体类中 加入: using System; using System.ComponentMo ...

  9. Web Tracking

    采集方式_数据采集_用户指南_日志服务-阿里云 https://help.aliyun.com/document_detail/28981.html http://docs-aliyun.cn-han ...

  10. 阻塞IO、非阻塞IO、同步IO、异步IO等

    https://www.cnblogs.com/zingp/p/6863170.html 阅读目录 1 基础知识回顾 2 I/O模式 3 事件驱动编程模型 4 select/poll/epoll的区别 ...