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. openvswitch总述

    前面用了两天时间了解了OpenvSwitch的结构,今天参考其他资料加自己的心得做个总结 一. openvswitch的安装和使用 在前一篇文章中详细的介绍了OpenvSwitch的安装和使用,不再赘 ...

  2. Linux shell 脚本中, $@ 和$# 分别是什么意思?

    转自:https://zhidao.baidu.com/question/412833470.html $@:表示所有脚本参数的内容 $#:表示返回所有脚本参数的个数. 示例:编写如下shell脚本, ...

  3. delphi xe学习随意记录

    学习来源(根据他们的资料整理) 论坛:http://www.coder163.com(有视频) 博客:http://del.cnblogs.com/(万一的博客) 1.1.1    命名规范的概述 1 ...

  4. 第4章 x86反汇编速成班

    4.1 抽象层次 硬件<微指令<机器码<低级语言<高级语言<解释型语言 4.2 逆向工程 4.3 x86体系结构 冯-诺依曼体系结构 中央处理器(CPU): 负责执行代码 ...

  5. When an HTTP server receives a request for a CGI script

    cgicc: Overview of the Common Gateway Interface https://www.gnu.org/software/cgicc/doc/cgi_overview. ...

  6. 汇编学习笔记(AT&T语法)

    一个最基本的汇编程序如下所示: .section .data .section .text .globl _start _start: movl $, %eax # the number 1 is t ...

  7. 003-mysql查询表的数据大小

    在需要备份数据库里面的数据时,我们需要知道数据库占用了多少磁盘大小,可以通过一些sql语句查询到整个数据库的容量,也可以单独查看表所占容量. 1.查看数据库表结构大小,要查询表所占的容量,就是把表的数 ...

  8. n个数里选出m个不重复的数

    void change(int *p,int a,int b) { int tmp = *(p + a); *(p + a) = *(p + b); *(p + b) = tmp; } int mai ...

  9. 开博第一篇,学习markdown

    Markdown学习 其实之前自己也一直有记录,不过是Evernote记录,没有分享出来,最近看了一些牛人博客,觉得也应该分享出来.和别人多交流,多学习.所以花了几小时学了一下Markdown语法,现 ...

  10. linux基础命令(2)

    1 nohup命令 如果你正在运行一个进程,而且你想在退出帐户/关闭终端之后继续运行相应的进程,可以使用这个命令,nohup就是不挂起的意思no hang up. 用法: nohup command ...