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. Eclipse虚拟内存不足【Eclipse中虚拟内存设置】

    Eclipse最近在做J2EE项目中 发现老是出现虚拟内存不足的提示 前2天去加了根内存 问题同样存在 为了让我在写代码时 不在出现那讨厌的内存不足的提示 也为了 不让那破机器再卡住 今天找到了解决方 ...

  2. ORA-12505, TNS:listener does not currently know of SID given in connect desc

    数据库名(数据库服务名)配置错误.

  3. linux的bash与sh的区别

    转自:https://zhidao.baidu.com/question/305415121.html https://zhidao.baidu.com/question/176780008.html ...

  4. Leetcode-Convert Sorted Array to BST

    Given an array where elements are sorted in ascending order, convert it to a height balanced BST. So ...

  5. HDU 5157 Harry and magic string(回文树)

    Harry and magic string Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/O ...

  6. Top15的golang学习资源网站

    We decided to ask the Go expert and CTO at QArea’s, Maksim Kuharenko, to share his personal list of ...

  7. 小团队交流为什么 :wq! :wq 二者结果一致?

    w 答案: :q 执行失败--->提示-已经修改,但是尚未保存,+!强制不保存退出 :w 保存

  8. NOIP2018酱油记

    考完了,终于有时间来写游记了. 有一种悲伤,叫做知道正解是什么但是就是不会写... 有一种遗憾,叫做能拿到的分考完才意识到... 有一种$NOIP$,叫做$Day1$原题大赛,$Day2AHOI$.. ...

  9. Spring的IoC模式

    1.依赖 依赖就是有联系,有地方使用到它就是有依赖它,一个系统不可能完全避免依赖.如果你的一个类或者模块在项目中没有用到它,恭喜你,可以从项目中剔除它或者排除它了,因为没有一个地方会依赖它.下面看一个 ...

  10. git rm与直接rm的区别

    git rm 行为: 1.删除一个文件 2.将被删除的这个文件纳入缓存区 $ git rm a rm 'a' $ git status On branch master Changes to be c ...