MySQL

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL相关的知识,希望对你有一定的参考价值。

一、数据库简介

  什么是数据库?

  *数据库就是一个文件系统,但是访问的时候需要使用标准的SQL语句来访问数据。

 关系型数据库

  *存储的都是实体与实体之间的关系。

  常见的数据库

  *Oracle:甲骨文公司的数据库产品,大型的收费数据库。

  *SQLServer:微软公司的数据库产品,中型的收费的数据库。

  *mysql:是开源的,免费的数据库产品,在5.x版本是免费的,6.x是收费的。

  *DB2:IBM公司的数据库产品,大型的收费的数据库。

  *SyBASE:已经退出历史舞台,Powerdesigner(数据库建模工具)。


二、MySQL的卸载和安装

  MySQL的卸载:

  1.先到MySQL的安装路径,找到my.ini的配置文件,找到两个路径,basedir和datadir。

  2.然后卸载数据库,再找到以上两个路径删除文件夹。


  MySQL的安装:

  下一步,下一步即可。


三、root密码的重置

3.1停止mysql服务

技术分享

技术分享3.2在cmd输入一个命令,用来开启一个MySQL服务,用于登录的时候不需要验证

技术分享

此时出现上面的窗口,表示已经启动了那个MySQL的服务,这个时候千万不能关闭这个窗口。不然服务就失效了。


3.3新打开一个cmd窗口,然后输入mysql -u root -p ,在上面的服务中,是不要密码就可以直接进入的。

技术分享

3.4输入命令show databases;可以用来查看数据库。

技术分享


输入命令use mysql;使用mysql数据库。

技术分享3.5修改密码的语句

update user set password = password(‘root‘) where user= ‘root‘;

技术分享

3.6将两个窗口关闭

3.7任务管理器中结束mysqld的进程

技术分享

技术分享

3.8重启MySQL服务

技术分享


四、MySQL服务器与数据、表之间的关系

技术分享

五、SQL简介

*SQL:Structured Query Language,结构化查询语言。

*特点:非过程性语言

  *过程性语言:当前的这条语句执行需要依赖于上一条或几条语句。

  *非过程性语言:可一条语句,就会执行一个结果。

*为加强SQL的语言能力,各厂商增强了过程性语言的特征

  *如Oracle的PL/SQL过程性处理能力。

  *SQL Server、Sybase的T-SQL。

*SQL是用来存取关系数据库的语言,具有查询、操纵、定义和控制关系型数据的四方面功能


六、SQL分类

*DDL(数据定义语言)

  *数据定义语言  Data Definition Language

  *用来定义数据库的对象,如数据表、视图和索引等等。

*DML(数据操纵语言)

  *数据操纵语言 Data Manipulation Language

  *在数据库表中更新、增加和删除记录

  *如update、insert、delete。

*DCL(数据控制语言)

  *数据控制语言 Data Control Language

  *用于设置用户权限和控制事务语言

  *grant、revoke、if...else、while、begin...transaction

*DQL(数据查询语言)

  *数据查询语言 Data Query Language

  *select


七、数据库之--创建数据库

create database 数据库名字 character set utf8;

技术分享

案例:创建一个名称为mydb1的数据库。

create database mydb1;

 技术分享

案例:创建一个使用utf8字符集的mydb2的数据库。

create database mydb2 character set utf8;

技术分享

八、数据库之--查看数据库

-- 显示数据库语句;
show databases;

技术分享


九、数据库之--显示数据库定义信息

-- 显示数据库定义信息
show create database 数据库名字;

技术分享

技术分享


十、数据库之--数据库删除

drop database 数据库名称;

技术分享

十一、数据库之--修改数据库

alter database if not exists 数据库名称 [default] character set utf8;

技术分享

十二、数据库之--切换数据库

use 数据库名称;

技术分享

十三、数据库之--查看当前使用的数据库

select database();

技术分享

十四、数据表之--创建数据表

craete table 表名(
    字段1 类型(长度) 约束,
    字段2 类型(长度) 约束,
    字段3 类型(长度) 约束
);

注意:

  表名小括号,后面要有分号。

  每一行字段后面要有逗号,但是最后一行没有逗号。

  数据类型后面有长度,如果是字符串类型,长度必须加。如果其他类型可以不加。默认长度。


数据类型:

  字符串类型:

varchar长度是可变的。
char长度是不可变的。

  大数据类型:

bolb二进制文件
text字符

  数值型:

tinyintsmallintintbigintfloatdouble

  逻辑型:

bit

  日期型:

date只包含日期
time只包含时分秒
datetime包含日期和时分秒
timestap包含日期和时分秒,如果不传入数据,默认选择当前系统时间


案例:创建表

create table employee(
	id int,
	name varchar(20),
	gender varchar(10),
	birthday date,
	entry_date date,
	job varchar(100),
	salary double,
	resume text
);

技术分享

十五、数据表之--显示所有的数据表

show tables;

技术分享


十六、数据表之--单表的约束

  主键约束:标识标记该条记录,通过primary 可以 声明主键。(默认唯一和非空)

  唯一约束:值是唯一的,使用unique声明。

  非空约束:值不能为空,not null


十七、数据表之--使用约束创建表

create table employee2(
	id int primary key auto_increment,
	name varchar(20) unique not null,
	gender varchar(10) not null,
	birthday date not null,
	entry_date date not null,
	job varchar(100) not null,
	salary double not null,
	resume text not null
);

技术分享                

十八、数据表之--查看表的信息

desc 表名;

技术分享

十九、数据表之--查看建表语句和字符集

show create table 表名;

技术分享


二十、数据表之--删除表

drop table 数据表名称;

技术分享

二十一、数据表之--修改表

技术分享

添加字段:

alter table 表名 add 字段 类型(长度) 约束;

技术分享

删除字段

alter table 表名 drop 字段;

技术分享

修改类型或者约束

alter table 表名 modify 字段 类型(长度) 约束;

技术分享

修改字段的名称

alter table 表名 change 旧字段 新字段 类型(长度) 约束

技术分享

修改表名

rename table 表名 to 新表名;

技术分享

修改字符集

alter table 旧表名 character set utf8;


二十二、数据之增加

添加数据

insert into 表名 (字段,字段,字段) values(值1,值2,值3);
insert into 表名 values(值1,值2,值3);

注意:

  数据与字段的类型相同。

  字段长度需要控制。

  字符串或者日期类型需要使用‘‘。


技术分享

向user表中插入数据。

insert into user values (null,‘xiaofeng‘,‘1994-10-10‘,‘2011-1-1‘,‘HR‘,19000,‘abc‘);
insert into user values (null,‘美美‘,‘1994-10-10‘,‘2011-1-1‘,‘HR‘,19000,‘abc‘);
insert into user values (null,‘小风‘,‘1994-10-10‘,‘2011-1-1‘,‘WORKER‘,21000,‘abc‘);
insert into user values (null,‘芙蓉‘,‘1994-10-10‘,‘2011-1-1‘,‘HR‘,1000,‘abc‘);
insert into user values (null,‘班长‘,‘1994-10-10‘,‘2011-1-1‘,‘HR‘,100,‘abc‘);

技术分享

二十三、数据之修改

update 表名 set 字段=值,字段=值 [where]

如果没有where条件,默认更新所有的记录。

有where的话,则更新一条或几条。


案例:将所有员工的薪水修改为5000元。

技术分享

案例:将姓名为班长的员工的薪水修改为3000元。

技术分享

二十四、数据之删除

delete from 表名 [where]

案例:删除表中名称为‘班长‘的数据

技术分享


二十五、数据之查询

select * from 表名;
select 字段1,字段2 from 表名 ;

案例:查询所有的用户信息

技术分享


案例:查询用户的姓名、生日信息

技术分享

使用where条件过滤

select * from 表名[where];
select 字段1,字段2 from 表名[where] ;

案例:查询芙蓉的信息

技术分享

使用order by排序

案例:对用户的生日进行排序(降序)

技术分享

分组函数

count()、max()、min()、avg()、sum()

案例:求用户信息总共多少人,总工资是多少,最高工资和最低工资是多少,平均工资是多少。

技术分享





本文出自 “11831428” 博客,请务必保留此出处http://11841428.blog.51cto.com/11831428/1908993

以上是关于MySQL的主要内容,如果未能解决你的问题,请参考以下文章

从mysql的片段中加载ListView

连接MySQL出现错误:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)(代码片段

使用 json rereiver php mysql 在片段中填充列表视图

关于mysql驱动版本报错解决,Cause: com.mysql.jdbc.exceptions.jdbc4Unknown system variable ‘query_cache_size(代码片段

修改MySQL密码报错“ERROR 1819 (HY000): Your password does not satisfy the current policy requirements“(代码片段

mysql查看版本的四种方法