MySQL基础操作

Windows下配置PHP支持mysql

在php.ini文件中找到extension=php_mysql.dll
和extension=php_mysqli.dll,如果之前有分号,表明被注释,去掉分号即可;如果没有这两句需要手动输入

unset()释放变量

可变变量
PHP中变量名可以是变量。
$catlogue = "city";
$$catlogue = "Zhengzhou";
第二句相当于$city = "Zhengzhou";
在输出可变变量时需要注意(使用大括号表明$cityname解释出来的值也要作为一个变量进行解释)
$Reno = 360000;
$Pasadena = 138000;
$cityname = "Reno";
echo "The size of $cityname is ${$cityname}";
$cityname = "Pasadena";
echo "The size of $cityname is ${$cityname}";
输出结果如下:
The size of Reno is 360000
The size of Pasadena is 138000
如果没有大括号,会输出
The size of Reno is $Reno

输出变量值可以使用以下3个句子
echo
print_r
var_dump //同时输出变量类型和变量值

定义常量
define("constantname","constantvalue");

PHP8种数据类型
Integer: 整数
Floating-point number: 浮点数
String: 字符串
Boolean: 布尔值
Array: 数组
Object: 对象
Resource: A reference that identifies a connection
NULL: A value that represents no value

PHP内置SQLite

MySQL查询语句
CREATE
DROP
ALTER
SHOW
INSERT
LOAD
SELECT
UPDATE
DELETE

use databasename
show databasename
quit

创建和维护MySQL用户账户
备份数据
更新MySQL

每个MySQL账户都有以下属性:
1.账户名(可以有16字符长,其中可以有空格和-符号,但不能出现通配符;账户名可以为空,这样可以允许主机上的所有有正确密码的用户访问数据库)
2.主机 —— 用户可以从它访问数据库的主机(可以包含通配符,例如George@%可以允许George在任何主机上访问数据库;主机名也可为空,作用和%一样)
3.密码(可为空)
4.一系列权限
一个主机名和一个账户名确定一个唯一的用户(accountname@hostname)。

所有的用户信息都存储在mysql数据库中,这个数据库在安装MySQL时自动创建。要添加或改变用户信息,必须有一个有权限操作mysql数据库的账户。
mysql数据库中包含以下表:
user
db
host
tables_priv
columns_priv

CREATE USER accountname@hostname IDENTIFIED BY 'password'

SET PASSWORD FOR username@hostname = PASSWORD('password')
取消密码:SET PASSWORD FOR username@hostname = PASSWORD('')

查看用户权限:SHOW GRANTS ON accountname@hostname

GRANT privilege (columns) ON tablename
TO accountname@hostname IDENTIFIED BY 'password'

GRANT select (firstName,lastName), update,
insert (birthdate) ...

GRANT select ON ProductCatalog.* TO phpuser@localhost
IDENTIFIED BY 'A41!14a!'

REVOKE privilege (columns) ON tablename
FROM accountname@hostname

REVOKE all ON . FROM accountname@hostname

DROP USER accountname@hostname, accountname@hostname, ...

mysqldump --user=accountname --password=password
databasename >path\backupfilename

mysql -u accountname -p < path/backupfilename

建表流程
1.Name your database.
2.Identify the objects.
3.Define and name a table for each object.
4.Identify the attributes for each object.
5.Define and name columns for each separate attribute that you identify in Step 4.
6.Identify the primary key.
7.Define the defaults.
8.Identify columns that require data.(不允许为空)
设计良好的数据库将每个数据只存储在一个地方。

建立表关系

常用MySQL数据类型
CHAR(length)
VARCHAR(length)
TEXT

INT(length)
INT(length)
UNSIGNED
BIGINT
DECIMAL(length,dec)

DATE
TIME
DATETIME

ENUM ("val1","val2"...)
SERIAL AUTO_INCREMENT(SERIAL是BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE的一个别名。)

一个表格必须有一个字段或者字段组合作为主键。不能有两个记录有相同的主键。如果多字段构成主键,在定义时PRIMARY KEY (columnname1,columnname2)

CREATE TABLE tablename (
columnname datatype definition1 definition2 ...,
columnname datatype definition1 definition2 ...,
...,
PRIMARY KEY(columnname) )

CREATE TABLE IF NOT EXISTS tablename

CREATE TABLE tablename LIKE oldtablename
新表只复制旧表的结构,不复制数据

SHOW TABLES

EXPLAIN tablename
查看表结构

DROP TABLE tablename

使用ALTER语句改变数据库结构。基本结构为ALTER TABLE tablename,后面可以跟
ADD columnname definition
ALTER columnname SET DEFAULT value
ALTER columnname DROP DEFAULT
CHANGE columnname newcolumnname definition
DROP columnname
MODIFY columnname definition
RENAME newtablename
例子:
ALTER TABLE Customer RENAME NewCustomer
ALTER TABLE Customer MODIFY lastName VARCHAR(50)

增###

INSERT INTO tablename (columnname, columnname,...,columnname)
VALUES (value, value,...,value)
从服务器所在目录的文件导入数据
LOAD DATA INFILE "path/datafilename" INTO TABLE tablename
FIELDS TERMINATED BY 'character'
FIELDS ENCLOSED BY 'character'
LINES TERMINATED BY 'character'
例子:
LOAD DATA INFILE "customer.dat" INTO TABLE Customer
FIELDS TERMINATED BY ','
从本地文件导入数据
LOAD DATA LOCAL INFILE "path/datafilename"
INTO TABLE tablename

查###

SELECT * FROM tablename
SELECT COUNT(*) FROM tablename
SELECT columnname,columnname,columnname,... FROM tablename
SELECT price,price*1.08 AS priceWithTax FROM Inventory
SELECT MAX(price) FROM Inventory
SELECT * FROM Customers ORDER BY DESC lastName
SELECT * FROM Inventory GROUP BY Category
SELECT lastName,firstName FROM Customer
WHERE lastName LIKE "B%"
AND city = "Indianapolis"
AND (phone LIKE "%8%" OR fax LIKE "%8%")
//返回前三条在德州的客户记录
SELECT * FROM Customer WHERE state="TX" LIMIT 3
//重复的Category只返回一次
SELECT DISTINCT Category FROM Product

UNION###

SELECT lastName,firstName FROM Member UNION ALL
SELECT lastName,firstName FROM OldMember

(SELECT lastName FROM Member UNION ALL
SELECT lastName FROM OldMember) ORDER BY lastName

JOIN##

INNER JOIN####

SELECT columnnamelist FROM table1,table2
WHERE table1.col2 = table2.col2

OUTER JOIN####

SELECT columnnamelist FROM table1 LEFT JOIN table2
ON table1.col1=table2.col2

SELECT columnnamelist FROM table1 RIGHT JOIN table2
ON table1.col1=table2.col2

更新表###

UPDATE tablename SET column=value,column=value,...
WHERE clause

删除记录###

DELETE FROM tablename WHERE clause

删除一列###

ALTER TABLE tablename DROP columnname

删除表###

DROP TABLE tablename

删除数据库###

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

推荐阅读更多精彩内容

  • 数据库基础知识 数据库客户端MySQL作为数据库服务器来运行,任何满足mysql通信规范的软件都可以作为客户端来连...
    littlexjing阅读 897评论 0 2
  • 一、mysql基础操作(centos5.5) 1.mysql表复制 create table t3 like t1...
    仒叻戓厺阅读 211评论 0 0
  • mysql数据库,是当前应用非常广泛的一款关系型数据库主要知识点包括: a)数据库与表的操作b)数据的增加、修改、...
    PythonMaO阅读 300评论 0 2
  • 1、数据库管理 1、 连接数据库mysql -u root -p 2 、查看所有的数据库show database...
    小菜_charry阅读 302评论 0 1
  • 数据库基本操作(内部基本操作) create table emp(id int not null auto_inc...
    曲谐_阅读 175评论 0 0