Mysql 基本用法
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 基本用法的更多相关文章
- 【转载】 mysql explain用法
转载链接: mysql explain用法 官网说明: http://dev.mysql.com/doc/refman/5.7/en/explain-output.html 参数: htt ...
- 知识点:Mysql 基本用法之存储过程
存储过程 一. 介绍 存储过程包含了一系列可执行的sql语句,存储过程存放于MySQL中,通过调用它的名字可以执行其内部的一堆sql 使用存储过程的优点: 用于替代程序写的SQL语句,实现程序与sql ...
- 知识点:Mysql 基本用法之视图
视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的临时 ...
- 知识点:Mysql 基本用法之流程控制
流程控制 一. 条件语句 if 语句实例: delimiter // CREATE PROCEDURE proc_if () BEGIN declare i int default 0; if i = ...
- 知识点:Mysql 基本用法之函数
函数 MySQL中提供了许多内置函数 例如: sql 内置函数: 一.数学函数 ROUND(x,y) 返回参数x的四舍五入的有y位小数的值 RAND() 返回0到1内的随机值,可以通过提供一个参数(种 ...
- 知识点:Mysql 基本用法之触发器
触发器 使用触发器可以定制用户对表进行[增.删.改]操作时前后的行为 注意:没有查询 一 .创建触发器 触发器基础语法: # 插入前 CREATE TRIGGER tri_before_insert_ ...
- 知识点:Mysql 基本用法之事务
事务 事务用于将某些操作的多个SQL作为原子性操作,一旦有某一个出现错误,即可回滚到原来的状态,从而保证数据库数据完整性. 事务实例: create table user( id int primar ...
- Mysql基本用法-存储引擎-04
MYSQL中只有 INNODB和BDB 类型的数据表才能支持事务处理!其他的类型是不支持的!(切记!) Mysql基本用法-存储引擎-02中的test_user表 和 phpcvs表 <?php ...
- ThinkPHP第十一天(关联模型使用,独立分组配置,MySQL concat用法)
1.关联模型的使用 定义方式:新建一个类文件UserRelationModel.class.php Class UserRelationModel extends RelationModel{ pro ...
- mysql distinct 用法详解及优化
本事例实验用表task,结构如下 MySQL> desc task; +-------------+------------+------+-----+-------------------+- ...
随机推荐
- DICOM:docker实现DICOM服务虚拟化
背景: docker,是一个开源的应用容器引擎,眼下大多应用在部署和运维领域,然而因为全然使用沙箱机制,相互之间能够看做独立的主机,且自身对资源的需求也十分有限.远远低于虚拟机.甚至非常多时候.能够直 ...
- cocos2d 粒子效果以及Particle Designer粒子工具的学习
最近在学习cocos2d中的粒子效果吧,下面就把学到的和大家分享下吧! Now!我们先了解下类结构吧 -- CCParticleSystem(所有粒子系统的父类) -- CCParticleSyste ...
- 【BZOJ4590】[Shoi2015]自动刷题机 二分
[BZOJ4590][Shoi2015]自动刷题机 Description 曾经发明了信号增幅仪的发明家SHTSC又公开了他的新发明:自动刷题机--一种可以自动AC题目的神秘装置.自动刷题机刷题的方式 ...
- 下载苹果APP历史版本
1.参考教程: iOS 下载旧版本 app 或者已下架 app 方法 - 简书 https://www.jianshu.com/p/33dc8bfd4134 2.步骤总结: 下载旧版带 app 管理的 ...
- Class.forName()用法
主要功能 Class.forName(xxx.xx.xx)返回的是一个类. Class.forName(xxx.xx.xx)的作用是要求JVM查找并加载指定的类,也就是说JVM会执行该类的静态代码段. ...
- delphi ---break,exit,continue等跳出操作的区别
1.break 强制退出最近的一层循环(注意:只能放在循环里:而且是只能跳出最近的一层循环),用于从for.while.repeat语句中强制退出 2.continue 用于从for.while.re ...
- Windows如何使用Apache的ab工具进行网站性能测试(Apache服务器自带了ab压力测试工具,可以用来测试网站性能,使用简单方便)
打开Apache服务器的安装路径,在bin目录中有一个ab.exe的可执行程序,就是我们要介绍的压力测试工具. 在Windows系统的命令行下,进入ab.exe程序所在目录,执行ab.exe程序.注意 ...
- ubuntu 使用串口picocom
连上USB转串口 查看是否识别串口 dmesg | grep ttyUSB0 安装(mint / ubuntu): $ sudo apt-get install picocom 使用: 先赋予 ...
- Vmware VsPhere下的VM安装Hyper-v服务
问题:Vmware VsPhere下的VM无法安装Hyper-v服务 解决方案:打开vmware vm的安装目录,然后找到.vmx的文件,然后进行修改 打开w-c-w2012.vmx文件 添加如下 h ...
- 隐藏显示终端的光标(shell echo,linux c printf)
https://www.cnblogs.com/niocai/archive/2011/11/11/2245727.html 一.使用shell 的 echo 命令实现. echo -ne <c ...