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; +-------------+------------+------+-----+-------------------+- ...
随机推荐
- python中的self
1.首先明确的是self只有在类的方法中才会有,独立的函数或方法是不必带有self的.self在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数. self名称不是必须的,在python中se ...
- 浅述python中range()函数的用法
函数用法说明: 用法一:range(m) 输出: [0,1,...,m-1](从0到m-1的一个list,不包括m) 示例: 用法二:range(m,n),m<n 输出:[m,m+1,..,n- ...
- node.js开发学习一HelloWorld
前言:由于公司业务需求,最近启动了node.js的开发任务,想把自己的开发学习历程记录记录下来,可以增加记忆,也方便查找.虽然对javascript有一定的了解,但是刚接触node.js的时候,发现还 ...
- HTTP协议包分析(小马上传大马)
最近工作内容是分析防火墙日志,看日志是正确,本地实验小马上传大马 抓取http包如下.可以在分析过程中进行借鉴. 该http请求的行为是通过小马,在小马的当前目录创建一个dama.php的文件,文件 ...
- Vulnerabilities by Type
w http://hackergossips.com/cross-site-scriptingxss-and-preventing/
- 模块化之SeaJS(二)
Seajs 此文来自 予舍驿站 提供简单.极致的模块化开发体验 非官方文档,整理来自己官方文档的文字与实例,方便速查. seajs.configObject aliasObject 别名配置,配置之后 ...
- 关于this,作用域,属性,原型链的一个小练习
function p () { this.name = 'x'; var name = 'y'; this.getName = function () { return name; } } // 求值 ...
- travelsal all files in a dir using recursion shell
#!/bin/bash function getdir(){ ` do dir_or_file=$"/"$element if [ -d $dir_or_file ] then g ...
- 调用百度API将地名转为经纬度
最近做一道数据科学竞赛题,特征中有城市名和地名,需要转为经纬度来使用 故用python写了一个地名转经纬度的脚本,调用了百度地图的API,key在百度地图开放平台上申请 申请key的地方:http:/ ...
- 【我的Android进阶之旅】如何快速寻找Android第三方开源库在Jcenter上的最新版本
问题描述 解决方法 先了解compile comsquareupokhttpokhttp240的意义 了解Jcenter和Maven jcenter Maven Central 理解jcenter和M ...