4.数据库的基本概念

1、数据库服务器

安装了数据库软件的电脑,就是“数据库服务器”。

安装了Apache软件的电脑,就是“WWW服务器”。

数据库服务器,提供对数据的管理、更新、安全、事务等方面功能。

举例:数据库服务器,可以看成是一个“文件柜”。

2、DBMS

DBMS(Database Management System)数据库管理系统,是一个管理数据的大型软件。

常用DBMS软件有哪些?

l Access:是微软的小型数据库。

l SQL Server:是微软的大中型数据库。

l Oracle:是美国甲骨文公司的产品。大型、或超大型数据库。

l MySQL:原始瑞典的AB公司产品。后来被甲骨文公司收购。大家认为:MySQL只适用中小型网站数据库。是免费的产品。

3、数据库

数据库:存储数据的仓库。

举例:数据库,可以看成是一个“文件柜”中的“小格子”。还可以看成是不同的“文件夹”。

4、数据表

数据表是存储数据的真正的地方。

举例:数据表,可以看成是一个具体的“文件”。其实,就是一张“学生成绩表”。

5、记录、字段、数据

MySQL登录和退出——在CMD模式操作

1、登录到MySQL服务器

l 语法格式:mysql.exe h主机名 u用户名 p密码

l 参数说明:

u mysql.exe是mysql服务器的主应用程序。

u -h代表MySQL数据库主机名(MySQL数据库端口号3306)。如:localhost或127.0.0.1

u -u代表MySQL用户名。如:root

u -p代表MySQL密码。如:root

u 注意:各个参数之间用空格隔开。

l 举例:mysql –hlocalhost –uroot -proot

2、退出MySQL客户端

MySQL数据库操作

1、显示数据库

l 语法:SHOW DATABASES;

2、创建数据库

l 语法格式:CREATE DATABASE [IF NOT EXISTS] db_name [CHARSET utf8]

l 参数说明

u create database是系统命令。

u IF NOT EXISTS 是可选项。是一个条件判断。如果不存在,则创建数据库。

u db_name:是自定义的数据库名称。

n 数据库名称的命名规则,与PHP变量一样。

n 包括 a-z、0-9 、_这些符号。

n 不区分大小写。

u CHARSET是设置数据库的默认字符集。默认字符集为lain1。

n 注意:如果设置为UTF8,不能带中划线。PHP中要求必须带中划线。

l 举例:

u create database 007online;  //默认字符集是latin1

u create database if not exists 007online;  //如果数据库不存在,再进行创建

u create database 007online charset utf8;  //指定数据库的默认字符集为utf8

3、删除数据库

n 语法:DROP DATABASE [IF EXISTS] db_name;

1、查看数据库的字符集

n 含义:显示创建数据库的SQL语句

n 语法:SHOW CREATE DATABASE db_name;

n 举例:show create database 007online;

2、通过MySQL命令来修改数据库的字符集

n 语法:ALTER DATABASE db_name DEFAULT CHARACTER SET utf8

n 举例:alter database 007online default character set utf8

MySQL数据表操作

1、选择数据库

n 描述:选择当前要操作的数据库,当前数据库只能是一个。

n 语法:USE db_name;

n 举例:use 007online;

2、显示所有的数据表(文件)

n 描述:显示当前数据库下的,所有数据表。

n 语法:SHOW TABLES;

3、创建数据表的结构

n 语法:CREATE TABLE table_name(col_name col_type col_attr, col_name col_type col_attr,……)

n 参数:

u col_name:列的名称。

u col_type:列的类型。如:tinyint、int、bigint、char、varchar、text、date、time等。

u col_attr:列的属性。

n NOT NULL | NULL:该列是否可以为空。

n DEFAULT default_value:指该列的默认值。

l default_value默认值可以是字符串,也可以是整型。

n AUTO_INCREMENT:该列为自动增长型,或者自动编号。要求该列必须是整型。一个表只能有一个auto_increment属性

n PRIMARY KEY:主键。指定该列的值具有唯一性,主键所在的列不能为空。一个表的主键只能有一个

n id字段的属性必须有:NOT NULL AUTO_INCREMENT PRIMARY KEY

u 一个数据表,由多个列构成。多个列定义之间用英文下的逗号隔开。

4、删除数据表

l 语法:DROP TABLE [IF EXISTS] table_name;

l 举例:drop table news;

5、修改数据表

使用数据表,使用的命令 alter table 。但是这个命令非常复杂,建议看懂就行。

describe显示表的结构定义

l 语法:DESCRIBE table_name;

MySQL数据类型

1、整型浮点型

(1)整型

tinyint    最小型整数  0-255(-128 ~ +127)   1个字节

smallint   小型整数    0-65535            2个字节

mediumint 中型整数    0-1677万           3个字节

int          一般整数    0-21亿             4个字节

bigint       最大整数    0-42亿              8个字节

(2)浮点型

float(M,D) 单精度(精确到小数点后7位)    M代表长度,D代表小数位数

举例:float(6,2) //总长度为6位,小数位数为2位,小数点不算。存的最大值为9999.99

double(M,D) 双精度(精确到小数点后15位)   M代表长度,D代表小数位数。

2、日期时间型

date   日期型   格式为: “YYYY-mm-dd”

time   时间型   格式为: “00:00:00”

3、字符和文本型

(1)字符型

char(M)    0-255  固定长度的字符串   如:邮编、手机号码、电话号码等

varchar(M) 0-65535  可变长度的字符串   如:新闻标题、家庭地址、毕业院校等。

(2)文本型

tinytext     0-255      小型文本

Text        0-1670万  中型文本

longtext    0-42亿     大型文本

问题:当向数据表中添加一条记录,且记录的内容含有中文时,为何添加不进去?

SQL基础

1、SQL简介

SQL(Structured Query Language)结构化查询语言。

SQL就是操作数据的一种语言。

2、增加记录

n 语法格式:INSERT INTO table_name(字段1,字段2,字段3,…) VALUES(值1,值2,值3,…)

n 语法说明

l INSERT INTO是添加数据的SQL命令。

l table_name要添加的数据表。

l 表的字段列表,要与值的列表,一一对应。

l 字段的类型,要与值类型一样。

l 如果还有没有列出的字段,将用默认值代替。

n 举例:insert into news(title,content,hits) values(‘标题’ , ‘内容’ , 100)

3、删除记录

n 语法:DELETE FROM table_name [WHERE 条件]

n 说明:

u WHERE条件:如果省略,将删除所有记录。

n 举例:

u delete from news;    //删除所有的记录

u delete from news where id>10;  //删除id>10所有记录

u delete from news where id>=10 and id<20;   //删除id>10且id<20的记录

u delete from news where author = ‘admin’ and id<100; //删除id<100且author = ‘admin’记录

4、修改记录

n 语法:UPDATE table_name SET 字段1 = 新值1,字段2=新值2,… [WHERE条件]

n 说明:

u 需要更新的字段列出,不需要更新的不用管它。

u 字段的顺序可以修改。

u WHERE条件不能省略,如果省略,所有记录都会修改完一样。

n 举例:

u update news set title = ‘新标题’,content = ‘新内容’ where id=50;

u update news set content = ‘新内容’ , title = ‘新标题’ where id=50;

5、查询记录

n 语法:SELECT 字段列表|* FROM table_name [WHERE条件] [ORDER BY排序][LIMIT限制输出]

n 参数:

u 字段字列表:查询某些字段的数据,各字段之间用逗号隔开,字段之间没有顺序。

u *:表示显示所有列的数据。如:select * from news;

u where:指查询的条件。

n SELECT * FROM news WHERE id<100;

n SELECT * FROM news WHERE id<100 and hits<100;

n SELECT * FROM news WHERE id=100 OR hits<50;

u ORDER BY:字段排序。

n 语法:ORDER BY 字段 [ASC|DESC]

n ASC表示“升序”排列(默认),DESC表示降序排列。

n SELECT * FROM news ORDER BY id DESC; //id降序排列

n SELECT * FROM news ORDER BY hits;  //hits升序排列

u LIMIT:限制输出

n 语法:LIMIT startrow,pagesize;

n 参数:

l startrow从指定的行数,开始返回数据。

l pagesize返回的记录数。

n 举例:

l LIMIT 0,10;  //从第0行起,返回10条记录

l LIMIT 10,10;  //从第10行起,返回10条记录

l LIMIT 20,10;  //从第20行起,返回10条记录

导入SQL文件,用于测试使用

Saixinjituan.sql

注意:导入SQL文件时,要先创建数据库,然后再导入数据。

创建的数据库的字符集必须是UTF8,否则会乱码。

案例“赛鑫集团”的配置

时间: 2024-10-07 20:47:59

4.数据库的基本概念的相关文章

Android数据库之基本概念(上)

1.Android数据库简介 Android通过结合使用SQLite数据库和Content Provider,提供了结构化数据的持久功能. SQLite数据库可以通过一种结构化的.易于管理的方法来存储应用程序数据.Android提供了一个完整的SQLite关系数据库的库文件.每个应用程序都可以创建自己的数据库,并对这个数据库拥有完全的控制权. Android数据库存储在设备上的/data/data/<package name>/database文件夹中,所有的数据库都是私有的,只能被创建他们的

数据库事务的概念及其实现原理

目录 前言 1. 认识事务 1.1 为什么需要数据库事务 1.2 什么是数据库事务 1.3 事务如何解决问题 1.4 事务的ACID特性以及实现原理概述 2.并发异常与并发控制技术 2.1 常见的并发异常 2.2 事务的隔离级别 2.3 事务隔离性的实现--常见的并发控制技术 3. 故障与故障恢复技术 3.1 为什么需要故障恢复技术 3.2 事务的执行过程以及可能产生的问题 3.3 日志的种类和格式 3.4 日志恢复的核心思想 3.5 事务故障中止/正常回滚的恢复流程 3.6 系统崩溃时的恢复过

MySQL——数据库和 SQL 概念&amp;&amp;MySQL的安装

数据库和 SQL 概念 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它的产生距今已有六十多年.随着信息技术和市场的发展,数据库变得无处不在:它在电子商务.银行系统等众多领域都被广泛使用,且成为其系统的重要组成部分. 数据库用于记录数据,使用数据库记录数据可以表现出各种数据间的联系,也可以很方便地对所记录的数据进行增.删.改.查等操作. 结构化查询语言(Structured Query Language)简称 SQL,是上世纪 70 年代由 IBM 公司开发,用于对数据库

关系型数据库常用基础概念知识归纳

声明:我的文章都是只挑主要的写,次要细节太多,归纳就没意义了,同时归纳主要是给自己看的, 而且基本都是凭自己的一些记忆和理解即时写的.不一定对和全(但大多是一些需要理解的概念),请各位看管见谅! 数据库设计篇 1.范式 A.1范式,原子性,即列不可分 B.2范式,完全依赖,即有个主键唯一区分 C.3范式,不能传递依赖,即表中不能还有其他表的非主键信息 2.模型 A.概念模型,即ER图等 B.逻辑模型,即建逻辑表 C.物理模型,即生成物理表 事务 1.四大特性, A.原子,要么..要么.. B.隔

数据库系列学习(一)-数据库几个概念

1.什么是数据库 数据库就是数据的仓库,对这个大仓库.当我们需要对数据进行操作的时候,只要告诉它"做什么"就可以了. 2.几个概念 Catalog [理解:不同的仓库放不同的数据,便于管理] [如:淘宝是把图片专门放到一个数据库,将用户信息在专门放到另一个数据] 表:Table [理解:将仓库划分为不同的区域,每块区域放一件"产品"] [如:用户信息中可能有,管理员,有淘宝员工,有普通用户] 列:Column [理解:同样的"产品",有不同的特征

Oracle数据库的基本概念(转)

一.数据库 我们在安装Oracle数据库时,全局数据库名:就是一个数据库的标识,在安装时就要想好,以后一般不修改,修改起来也麻烦,因为数据库一旦安装,数据库名就写进了控制文件,数据库表,很多地方都会用到这个数据库名. 启动数据库:也叫全局数据库,是数据库系统的入口,它会内置一些高级权限的用户如SYS,SYSTEM等.我们用这些高级权限账号登陆就可以在数据库实例中创建表空间,用户,表了. 二.数据库实例 用Oracle官方描述:实例是访问Oracle数据库所需的一部分计算机内存和辅助处理后台进程,

数据库分区的概念

from: http://www.iteye.com/problems/67953 此文从以下几个方面来整理关于分区表的概念及操作:         1.表空间及分区表的概念         2.表分区的具体作用         3.表分区的优缺点         4.表分区的几种类型及操作方法         5.对表分区的维护性操作. (1.) 表空间及分区表的概念 表空间:  是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间. 分区表: 

按自己的思路串一串所学的数据库知识 ——基本概念综述

<数据库系统概论>这门课研究的是计算机领域的这样一个问题:在信息时代,如何对于海量的数据进行有效的管理. 于人工管理,文件管理之后,数据库管理系统应运而生,它扬弃了前二者,以其显著的优点而为我们的时代所接纳. 要论其优点,自然是从它对问题的有效解决这个角度出发,即解决对于数据的有效管理.之所以它能够解决好这样一个问题,在于,用它管理数据时, 数据呈现出结构化.结构决定功能,有结构的数据自然优于杂乱无章的数据. 数据独立性高.这个独立性体现在逻辑层面和物理层面两个方面.(我们经常从这两个方面来研

一,数据库优化基本概念

一,mysql优化从那几个方面入手 1,数据库(表)设计合理, 数据表设计符合3NF(3范式),有时需要适当的逆范式. 2,sql语句的优化 3,数据库参数配置 4,适当的硬件配置和操作系统 这个顺序也表现了这四个工作对性能影响的大小. 二,三个范式 1,第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解:(只要是关系型数据库都满足1NF). 2,第二范式:2NF是对记录的唯一性约束,要求记录有唯一标识,即实体的唯一性. 3,第三范式:3NF是对字段冗余的约束,即任何字段不能有

MySQL数据库分区的概念与2大好处(1)

我们大家都知道通过MySQL数据库分区(Partition)可以提升MySQL数据库的性能,那么到底什么是MySQL数据库分区呢?以及其实际应用的好处的表现有哪些呢?以下的文章就是对这些内容的描述. 什么是数据库分区? 数据库分区是一种物理数据库设计技术,DBA和数据库建模人员对其相当熟悉.虽然分区技术可以实现很多效果,但其主要目的是为了在特定的SQL操作 中减少数据读写的总量以缩减响应时间. 分区主要有两种形式://这里一定要注意行和列的概念(row是行,column是列) 水平分区(Hori