8.MySQL链接,单表

一、数据库介绍

1、什么是数据库?

定义:数据库是存放数据的电子仓库。

2、是以某种方式存储百万条,上亿条数据,提供多个用户访问共享。

3、每个数据有一个或多个api用于创建,访问,管理和复制所保存的数据。

4、系统中很多动态数据都存储在数据库中,需要通过访问数据库才能显示;

二、数据库的类型

1、关系型数据库

定义:数据库中表与表之间存在某种关系,数据存储在不同的表中

常见的关系型数据库:

(1)db2 IBM 公司

(2)oracle oracle 公司

(3)mysql oracle公司收购 (我们学习的mysql)

(4)sql server

特点:

a、安全

b、保持数据的一致性

c、实现对表与表进行复杂的数据查询

2、非关系型数据库

定义:通常数据是以对象的形式存储在数据库中

常见的非关系性数据库:

1、hbase (列模型)

2、redis (键值对存储)

3、mongodb (文档类型)

特点:

a、效率高

b、容易扩展

c、使用更加灵活

=========================

三、mysql介绍定

1、mysql的定义

mysql是关系型数据库管理系统,我们常说的xxx数据库就是指xx数据库管理系统。

2、mysq数据库是有瑞典mysql db公司开发,目前属于oracle 公司,

3、在web应用方面(bs架构上),mysql是最好的关系型数据管理系统

4、特点:

a.体积小

b.开源,免费

c、使用c++编写

d、支持多系统

e、支持多引擎

f、msyql与其他工具组合可以搭建免费的网站系统

lamp=linux+apache+mysql+php

lnmp=linux+nginx+mysql+php

5、mysql的应用结构:

(1)单点数据库:使用于小规模应用(我们现在学的)

(2)复制:适用于中小规模的应用

(3)数据库集群,适合大规模的应用

比如:mgr集群,三主三从,一主三从;

6、数据库中术语:

(1)数据库

(2)数据表

(3)列

(4)行

(5)值

(6)字段名

(7)字符类型

(8)冗余

(9)主键

(10)外键

(11)视图

(12)索引

(13)单表

(14)多表

(15)存储

数据库之搭建

1、rpm -qa|grep 服务名称

案例:rpm -qa|grep mysql

2、将所有msyql的包删除干净

删除方法:

(1)yum remove mysql * 删除linux中的数据库

(2)yum erase 包名 ,删除linux中的数据库

(3)rpm -e --nodeps 包名 删除linux中的数据库

(3)mysql的安装

a.安装客户端

yum install mysql

b.安装服务端

yum install mysql-server

安装好以后,查看有三个mysql安装包

rpm -qa|grep mysql

(4)启动mysql

service mysqld start 开启数据库(我们使用数据要保持数据库开启)

service mysqld status 查看数据库的状态

service mysqld stop 关闭数据库

service mysqld restart 重启数据库

(5)mysqladmin -u root password '123456' 设置数据库密码

(6)进入数据库操作界面

mysql -u root -p 敲回车 输入密码

(7)show databases 显示所有的数据库

(8)授权

grant all privileges on . to root@'%' identified by "123456";

grant 授

all privileges 所有的权限

on

  • 第一个星表示所有库

  • 第二型表示所有的表

to

root 用户

@

% 表示所有用户

identified by 设置密码

(9)刷新权限

flush privileges;

(10)create database 数据库名

案例:

create database hz017;

(11)show databases ;查看所有的数据库

(12)use 库名

案例:use hz017

(13)退出:

ctrl+z,或ctrl+c或qiut

====================================

linux:

linux操作界面

mysql:数据库操作界面

一、进入数据库操作界面

1、mysql -u root -p 敲回车 ,输入密码 ,进入数据库操作界面

2、show databases 查看所有的数据(如果没有数据库:创建数据库 create database 库名称)

3、use 数据库名 使用数据库

4、show tables 显示库中的所有表

5、建表语句(在建表时的语句后面添加:DEFAULT charset=utf8;,可在数据中输入中文字符)

格式: create table 表名(字段名1 字符类型(字符长度),字段名2 字符类型(字符长度));

案例:create table aa(id int(10),name varchar(20));

6、查看表结构:

desc 表名

案例:

7、在navicat 中=点击库名点击查询新建查询===在新建查询中输入sql语句

8、插入数据:

(1)插入方式一:

格式:INSERT INTO 表名 VALUES(值1,值2);

案例:INSERT INTO aa VALUES(1,"aa");

(2)插入方式二:(插入部分字段)

格式:INSERT into 表名(字段名) VALUES(字段值)

案例:INSERT into aa(id) VALUES("4")

(3)插入的中文字符变成?号

解决方案:

在建表时的语句后面添加:

DEFAULT charset=utf8;

案例:create table cc(cid int(5),cname char(20))DEFAULT charset=utf8;

9、删除表格

drop table 表名

案例:drop table yy ;

==============================

二、数据类型

1、数值类型

int 存储类型(整数)

float 浮点数(带小数点)

2、字符类型(输入数据时加入引号'')

char

varchar

3、时间类型

date

time

datetime

year

注意字符的长度:

int(20)

varchar(20)

======================================

约束:

约束用于对表中字段进行限制,保证表中数据的正确性和唯一性

1、primary key 主键约束

非空,唯一,用于唯一标识的记录,类似身份证。

一个表中只用一个主键

2、not null 非空约束

3、 unique 唯一索引

保证字段值具有唯一性,并且能为空,一个表中可以有多个唯一索引

4、default 默认值约束

定义:默认给字段指定默认值

5、auto_increment 自增长约束(一般都是和主键同时使用)

作用:在整数类型,字段默认值从1开始自增

(1)一般和主键约束一起使用,主要针对id

(2)每插入一条数据,就是在字段上自动+1,

=========================================

1、新建表

表结构的操作:

2、add 添加字段

格式:ALTER TABLE 表名 add 字段名 字符类型(字符长度);

案例:ALTER TABLE student2 add dcs int(20);

3、change 修改字段

格式:ALTER TABLE 表名 change 旧字段名 新字段名 字符类型(字符长度);

案例:ALTER table student2 change dcs hzdcs int(19);

4、 drop 删除字段

格式:ALTER table 表名 drop 字段名 ;

案例:ALTER table student2 drop hzdcs ;

5、rename 修改表名

6、modify after 字段的调换

格式:ALTER table 表格 MODIFY 变动的字段 字段类型(字段长度) after 指定字段 ;

案例:ALTER table hz MODIFY math int(10) after id ;

7、first 添加字段到第一位

格式:alter table 表名 add 表字段 字符类型(字符长度) first ;

案例:alter table hz add no int(20) first ;

=========================================

数据库汇中:增、删、改、查

一、查询语句:

(1)查询一个表中的所有数据

格式:select * from 表名 ; * 表示所有的字段

案例:select * from hz ;

(2)查询部分字段(多个字段用,分割)

格式:select 字段1,字段2 from hz ;

案例:select id,name from hz ;

(3)查询字段可以通过as 取别名

格式:

案例1( as写,):

select id as " 编号",name as "姓名" from hz ;

案例2(可以省略 as不写):

select id " 编号",name "姓名" from hz ;

(4)指定条件查询内容:

where +条件

条件1:

比较运算:>,<,=,!=,<>,>=,<=

条件2:

and ,or ,between ....and ,in , is not null

案例1:= 等于

select id ,name from hz where id=1;

案例2:> 大于

select id ,name from hz where id>1;

案例3:<小于

select id ,name from hz where id<2;

案例4:<=小于等于

select id ,name from hz where id<=2;

(5)

案例5:>=大于等于

select id ,name from hz where id>=2;

(6)!=不等于

案例6:select id ,name from hz where id != 2;

(7)<>不等于

select id ,name from hz where id <> 2;

================================

(8)and 同时满足条件

案例8; and 是同时满足多个条件

select id ,name,math from hz where id > 2 and math>90;

(9)or 只要满足其中一个条件 就显示

select id ,name,math from hz where id > 6 or math>90;

(10)between 。。。and 在什么范围之间

案例:select * from hz where id BETWEEN 3 and 6 ;

备注:包含了本身,

(11)in 在一组数据中选择(在数据汇总匹配)

案例:select * from hz where id in (1,3,8)

(12)not in 不在一组数据中选

案例:select * from hz where id NOT in (1,3,8)

(13)is null 为空的数据

select * from hz where class is null;

(14)is not null 不为空的数据

select * from hz where class is not null;

==========================================

posted @ 2024-07-18 11:02  藕丝鲜芋  阅读(3)  评论(0编辑  收藏  举报