MySQL 数据库初级篇

一 . 数据库

数据库是是用来存储数据的,数据库就是一些具有特殊个格式和意义的数据文件的集合。

相比于普通文件数据库的优点是:

读写速度极高
持久化存储
对程序支持性很好,容易扩展
数据的有效性
1、数据库管理系统(Database Mangement Systerm):
是为了管理数据库而设计的软件系统,主要包括三部分组成

数据库文件集合
数据库客户端
数据库服务器端


2、数据库分类:


关系型数据库(Relational Database Mangement Systerm):是建立在关系模型的基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据,本质上使用一张二维表来表示关系。

关系型数据库中核心元素:

数据库(数据表的集合)
数据表(数据行的集合)
数据行(记录)
数据列(字段)


3、SQL语句:


是作用是实现数据库服务器和客户端之间的通信,其表现形式就是有特定意义的字符串.

注意: SQL语句不区分大小写

SQL语句主要分为:

DQL:数据查询语句,用于对数据进行查询.如select
DML:数据操作语言,对数据进行增加,修改,删除,如insert, update,drop
TPL:事务处理语言,对事务进行处理,包括:begin transcation,commit,rollback.
DCL:数据控制语言,进行授权和权限回收,如grant,revoke
DDL:数据定义语言,进行数据库,表的管理,如create,drop
对于web程序员来讲,重点是数据的crud(增删改查),必须熟练编写DQL、DML,能够编写DDL完成数据库、表的操作,其它语言如TPL、DCL、CCL了解即可.

 

4、MYSQL数据库的操作:


安装命令
sudo apt-get install mysql-server
启动命令
sudo service mysql start
停止命令
sudo service mysql stop
查看命令
ps ajx|grep mysql


二. MYSQL数据库


   MYSQL主要有MyISAM与InnoDB两个引擎,其主要区别如下:
1、InnoDB支持事务,而MyISAM不支持。这一点非常重要,事务是一种高级的处理方式。在一系列的数据操作(增、删、改)中只要一处出错就会回滚还原,而InnoDB可以。
2、MyISAM适用于查询以及插入为主的应用,InnoDB适合查询以及插入为主的应用。InnoDB适合频繁的修改,以及涉及到安全性较高的应用。
3、InnoDB支持外键,MyISAM不支持。
4、MyISAM是默认引擎,InnoDB需要指定。

 

三、数据类型和数据结构:


数据的完整性: 通过两方面来实现,数据类型和数据结构.

1、数据类型:

影响着数据库中存储的数据所占的类型约束,空间大小.

只有类型符合要求的的数据才可以存储,这样保证了数据的完整性.
使用数据库类型的原则:够用就行,净量使取值范围小的,而不是大的,这样可以跟多的节省占用的内存空间.
常用的数据类型:

整数型: int bit

小数: decimal(5,3) 表示有五位数字,其中小数位占两位

字符串: char(bit), varchar(bit), text

bit是限制长度,char是不够bit位用空格补全,而varchar是当bit没用完时不补.

日期时间: date, time, datetime,

枚举 enum(选项1,选项2,…)只能写入符合枚举括号中有的数据.

2、数据约束:


在数据类型的限定的基础上添加额外的要求.

常见的数据约束的类型:

主键: primary key 物理上的存储顺序
非空: not null 此字段不允许填空值
唯一: unique 此字段的值每一个记录都不会有重复,是唯一的像身份证号.
默认: default 如果不填写此字段的值,会填写设置的默认值.
外键: foreign key


三、命令行客户端SQL的使用


1、登录和退出数据库

数据库登录

mysql -uroot -p;
# 会提示输入密码, root是用户名
mysql -uroot -pmysql;
# -p后面加上密码,这样不够安全


退出数据库

quit 或 exit 或 Ctrl + d;


2、数据库的操作

查看所有的数据库

show databases;


使用数据库

use 数据库名;


查看当前使用的数据库

select database();


创建数据库

create database 数据库名字 charset=utf8;


删除数据库

drop database 数据库名字;

# 删库要慎重


查看当前使用数据库的版本

select version();


3、表结构的操作

创建表结构

create table 表名(字段名称 数据类型 数据约束);
create table classes(
ID int(3) unsigned auto_increment primary key not null,
name varchar(12) not null
);


修改表结构

     alter table 表名 add 字段名 数据类型;
    alter table classes add gender enum("男","女","保密");
    # 添加字段
    
    alter table 表名 change 原名 新名 数据类型 数据约束;
    alter table classes change gender sex varchar(6) not null;
    # 修改字段名 数据类型,数据结构
    
    alter table 表名 modify 字段名 类型 约束;
    alter table classes modify name varchar(10) unique;
    # 修改表字段的数据类型,约束条件
    
    alter table 表名 drop 字段名;
    alter table classes drop sex;
    # 删除字段


删除表

drop table 表名;
drop table classes;


查看当前数据库中所有的表

show tables;


查看表

desc 表名;
desc classes;
    


查看表创建过程

show create table 表名;
show create table classes;
    


修改表名

 alter table 原表名 rename 新表名
alter table classes rename student 


4、表数据操作

添加表数据

 insert into 表名 values(...), (....);
insert into student values(1,"郭靖","男"),(2, "洪七公","男");
# 插入完整数据记录,可以插入入一组,或者多组

insert into 表名(字段名1,字段名2,...) values(...),(...)...;
insert into student(name,gender) values("郭靖","男"),("洪七公","男");
# 只插入指定的字段的数据


修改数据

 update 表名 set 列1=值1,列2=值2... where 条件;
update student set name="tom",age=18 where id=1
# 修改值,通过行内特征数据为条件,修改指定列的元素


查数据

 select * from 表名;
select * from student;
# 查看表中所有数据

select 列名1,列名2 from 表名;
select name,age from student;
# 查看指定列的数据

# 查看名字,和身高,如果身高为空就显示“无”
select name IFNULL(height,'无') from students;


删数据

 delete from 表名 where 条件;
delete from student where i>5;
update students set isdelete=1 where id=1;
# 通过修改是否删除中把0改为1进行删除效果是同样的


 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值