标签: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数据库。
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 | 字符 |
数值型:
tinyint | smallint | int | bigint | float | double |
逻辑型:
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
原文地址:http://11841428.blog.51cto.com/11831428/1908993