PHP笔记4数据库基本概念

1、数据库服务器

  • 安装了数据库软件的电脑,就是“数据库服务器”。
  • 安装了Apache软件的电脑,就是“WWW服务器”。
  • 数据库服务器,提供对数据的管理、更新、安全、事务等方面功能。
  • 举例:数据库服务器,可以看成是一个“文件柜”。

2、DBMS

DBMS(Database Management System)数据库管理系统,是一个管理数据的大型软件。
常用DBMS软件有哪些?

  • Access:是微软的小型数据库。
  • SQL Server:是微软的大中型数据库。
  • Oracle:是美国甲骨文公司的产品。大型、或超大型数据库。
  • MySQL:原始瑞典的AB公司产品。后来被甲骨文公司收购。大家认为:MySQL只适用中小型网站数据库。是免费的产品。

3、数据库

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

4、数据表

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

5、记录、字段、数据

image.png

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

1、登录到MySQL服务器

  • 语法格式:mysql.exe –h主机名 –u用户名 –p密码
  • 参数说明:
  • mysql.exe是mysql服务器的主应用程序。
  • -h代表MySQL数据库主机名(MySQL数据库端口号3306)。如:localhost或127.0.0.1
  • -u代表MySQL用户名。如:root
  • -p代表MySQL密码。如:root
  • 注意:各个参数之间用空格隔开。
  • 举例:mysql –hlocalhost –uroot -proot

2、退出MySQL客户端

MySQL数据库操作

1、显示数据库

  • 语法:SHOW DATABASES;


2、创建数据库

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

  • 参数说明:

  • create database是系统命令。

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

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

    • 数据库名称的命名规则,与PHP变量一样。
    • 包括 a-z、0-9 、_这些符号。
    • 不区分大小写。
  • CHARSET是设置数据库的默认字符集。默认字符集为lain1。

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

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

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

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

3、删除数据库

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

MySQL数据库字符集

1、查看数据库的字符集

  • 含义:显示创建数据库的SQL语句
  • 语法:SHOW CREATE DATABASE db_name;
  • 举例:show create database 007online;

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

  • 语法:ALTER DATABASE db_name DEFAULT CHARACTER SET utf8
  • 举例:alter database 007online default character set utf8

MySQL数据表操作

1、选择数据库

  • 描述:选择当前要操作的数据库,当前数据库只能是一个。
  • 语法:USE db_name;
  • 举例:use 007online;


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

  • 描述:显示当前数据库下的,所有数据表。
  • 语法:SHOW TABLES;

3、创建数据表的结构

  • 语法:CREATE TABLE table_name(col_name col_type col_attr, col_name col_type col_attr,……)
  • 参数:
  • col_name:列的名称。
  • col_type:列的类型。如:tinyint、int、bigint、char、varchar、text、date、time等。
  • col_attr:列的属性。
    • NOT NULL | NULL:该列是否可以为空。
    • DEFAULT default_value:指该列的默认值。
      - default_value默认值可以是字符串,也可以是整型。
    • AUTO_INCREMENT:该列为自动增长型,或者自动编号。要求该列必须是整型。一个表只能有一个auto_increment属性。
    • PRIMARY KEY:主键。指定该列的值具有唯一性,主键所在的列不能为空。一个表的主键只能有一个。
    • id字段的属性必须有:NOT NULL AUTO_INCREMENT PRIMARY KEY
  • 一个数据表,由多个列构成。多个列定义之间用英文下的逗号隔开。

4、删除数据表

  • 语法:DROP TABLE [IF EXISTS] table_name;
  • 举例:drop table news;

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


还可以使用phpMyAdmin来进行表结构的修改。

5、describe显示表的结构定义

  • 语法: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、增加记录

  • 语法格式:INSERT INTO table_name(字段1,字段2,字段3,…) VALUES(值1,值2,值3,…)
  • 语法说明:
  • INSERT INTO是添加数据的SQL命令。
  • table_name要添加的数据表。
  • 表的字段列表,要与值的列表,一一对应。
  • 字段的类型,要与值类型一样。
  • 如果还有没有列出的字段,将用默认值代替。
  • 举例:insert into news(title,content,hits) values(‘标题’ , ‘内容’ , 100)

3、删除记录

  • 语法:DELETE FROM table_name [WHERE 条件]
  • 说明:
  • WHERE条件:如果省略,将删除所有记录。
  • 举例:
  • delete from news; //删除所有的记录
  • delete from news where id>10; //删除id>10所有记录
  • delete from news where id>=10 and id<20; //删除id>10且id<20的记录
  • delete from news where author = ‘admin’ and id<100; //删除id<100且author = ‘admin’记录

4、修改记录

  • 语法:UPDATE table_name SET 字段1 = 新值1,字段2=新值2,… [WHERE条件]
  • 说明:
  • 需要更新的字段列出,不需要更新的不用管它。
  • 字段的顺序可以修改。
  • WHERE条件不能省略,如果省略,所有记录都会修改完一样。
  • 举例:
  • update news set title = ‘新标题’,content = ‘新内容’ where id=50;
  • update news set content = ‘新内容’ , title = ‘新标题’ where id=50;

5、查询记录

  • 语法:SELECT 字段列表|* FROM table_name [WHERE条件] [ORDER BY排序][LIMIT限制输出]
  • 参数:
  • 字段字列表:查询某些字段的数据,各字段之间用逗号隔开,字段之间没有顺序。
  • *:表示显示所有列的数据。如:select * from news;
  • where:指查询的条件
    • SELECT * FROM news WHERE id<100;
    • SELECT * FROM news WHERE id<100 and hits<100;
    • SELECT * FROM news WHERE id=100 OR hits<50;
  • ORDER BY:字段排序。
    • 语法:ORDER BY 字段 [ASC|DESC]
    • ASC表示“升序”排列(默认),DESC表示降序排列。
    • SELECT * FROM news ORDER BY id DESC; //id降序排列
    • SELECT * FROM news ORDER BY hits; //hits升序排列
  • LIMIT:限制输出
    • 语法:LIMIT startrow,pagesize;
    • 参数:
      • startrow从指定的行数起,开始返回数据。
        pagesize返回的记录数。
  • 举例:
    • LIMIT 0,10; //从第0行起,返回10条记录
    • LIMIT 10,10; //从第10行起,返回10条记录
    • LIMIT 20,10; //从第20行起,返回10条记录

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

Saixinjituan.sql
注意:导入SQL文件时,要先创建数据库,然后再导入数据。
创建的数据库的字符集必须是UTF8,否则会乱码。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 210,914评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 89,935评论 2 383
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,531评论 0 345
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,309评论 1 282
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,381评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,730评论 1 289
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,882评论 3 404
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,643评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,095评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,448评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,566评论 1 339
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,253评论 4 328
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,829评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,715评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,945评论 1 264
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,248评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,440评论 2 348

推荐阅读更多精彩内容

  • MySQL 数据库常用命令 1、MySQL常用命令 create database name; 创建数据库 use...
    55lover阅读 4,776评论 1 57
  • 什么是数据库? 数据库是存储数据的集合的单独的应用程序。每个数据库具有一个或多个不同的API,用于创建,访问,管理...
    chen_000阅读 4,032评论 0 19
  • 1.MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。My...
    黄花菜已凉阅读 4,564评论 3 60
  • 1.MySQL数据库 2.SQL语句 第一节课 ###1(MySQL数据库)数据库概念.avi 5...
    码了个农啵阅读 1,196评论 1 16
  • 我原本以为我只是想她,可是我现在才发现,想和思念是不同的,当我想一个人的时候,我的脑袋 还是很清晰的,可是思念时...
    敏青颖阅读 191评论 0 0