创建数据库
create database 库名
删除数据库
drop database 库名
创建表
create table 表名(
列名 数据类型(长度) 完整的约束条件,
列名 数据类型(长度) 完整的约束条件,
..........
)engine=myisam default charset=utf8
注意: 列名、数据类型、长度是必有得完整性约束条件可以没有,最后的utf8可以没有
数据类型
整型: int
微整型: tinyint(微整型 -128~~127)
字符串: varchar() 可变长度 char(): 固定长度
枚举: enum() 单选 set() 多选
日期: date: 年-月-日 datetime: 年-月-日 时:分:秒
文本: text 大文本
完整性约束条件
unsigned: 无符号 只用在整型字段上
tinytnt unsigned 无符号微整型0~~255
auto_increment: 自增长 只用在整型字段上
primary key: 主键
特点: 唯一 非空 经常与auto_increment结合使用。主键和自增长配合就能确定唯一的一条数据了。主键一般都会选择整型字段
unique: 唯一。该列中不能出现重复值
实例:
所需字段
id: 整型 无符号 自增长 主键
邮箱(账号、用户名): 字符串 唯一 非空
昵称: 字符串 唯一 非空
密码: 字符串 非空 md5加密
手机: 字符串
性别: 枚举,男、女、人妖
生日: 日期
个人介绍: 文本
添加时间: 整型,记录时间戳
写法:create tableali_admin(
admin_idint UNSIGNED auto_increment PRIMARY key,
admin_emailvarchar(50) UNIQUE not null,
admin_nicknamevarchar(30) UNIQUE not null,
admin_pwdchar(32) not null,
admin_telchar(11),
admin_gender enum('男','女','人妖') default '人妖',
admin_brith date,
admin_signtext,
admin_addtimeintUNSIGNED
)engine=myisam default charset=utf8;
添加数据
insert into 表名(字段,字段.......) values(值,值......)
注意:字段的顺序要和值的顺序是完全匹配的
自增长类型的主键, 可以使用null来填充 MySql会自动填充数据
如果每个字段都有数据,那么表名后面可以不跟字段名 但是value里的顺序必须正确
数据查询
select 字段名,字段名,..... from 表名
如果查询所有字段 可以用 * 号代替
查询某个字段的某个值
select 字段,... from 表名 where 筛选的结果
案例:
创建/删除数据库
创建数据库:【create database 要创建的库名;】
删除数据库:【drop database 要删除的库名;】
创建数据表
【create table 要创建的表名(
表头名 数据类型(长度) 完整性约束条件,
表头名 数据类型(长度) 完整性约束条件,
.....需要几个创建几个......
)engine=myisam default charset=utf8;】最后的 utf8 没有 横杠(-)
数据类型
①整型:int(取值范围:-2147483648到2147483647)
②微整型 tinyint (取值范围:-128到127)
字符串用
③可变长度:varchar() (存储abc,varchar会占用3个长度)
④固定长度:char() (存储abc,char会占用写入的长度)
⑤单选:enum() 例如:enum('武侠','玄幻'....[只选一个])
⑥多选:set() 例如:set('古装','喜剧','警匪','恐怖','穿越')
日期类型
⑦年-月-日:date()
⑧时:分:秒:time()
⑨年-月-日 时:分:秒:datetime()
⑩文本(大文本没有长度):text
完整性约束条件
①无符号:unsigned 只用在整型字段上
②无符号:tinyint unsigned 微整型0到255
③自增长:auto_increment 只用在整型字段上
④主键:primary key
特点:唯一 非空 经常和auto_increment结合使用.主键和自增长配合就能确定唯一的一条数据了。主键一般都会选择整型字段。
⑤唯一:unique 该列中不能出现重复值。
⑥非空:not null 该列中不能有空的数据
添加数据:
格式:【insert into 表名(字段名,字段名,....)values(值1,值2,.....);】
注意:自增长类型的主键,可以使用null来填充;MySQL会自动填充。
如果每个字段都有数据,那么表名后面可以不跟字段名,但是values里数据的顺序【必须】正确【必须一一对应】
修改数据
格式:【update 表名 set 字段1=值1 字段2=值2... where 修改条件】update(更新)
条件是指该那个的值
数据删除
delete from 表名 where 删除条件 【删除条件 一般 是根据主键来删除,根据其他的也可以删除】
一.链接MySQL服务器【mysqli_connect( , , )】
参数:①MySQL主机名(主机地址)②MySQL服务器的用户名③用户对应的密码 返回值是【数据库链接资源】
二.选择要操作的数据库【mysqli_select_db( , )】
参数1: 数据库链接资源
参数2: 数据库名称
三.设置字符集【mysqli_query( , )】
参数1: 数据库链接资源
参数2: sql 语句 - set names utf8
四. 执行SQL语句【mysqli_query(var1, var2)】
参数1: 数据库链接资源
参数2: sql 语句 (一般是增删改查的SQL语句)
返回值: 如果是查询,则返回结果对象,该对象里面包含了从数据表中取出的数据
如执行的是增 删 改 ,则返回布尔值 成功—>true 失败—>false
如执行的是查询 ,则返回结果对象
五.
六.关闭MySQL链接资源【mysqli_close( )
】 参数: 服务器链接资源(数据库链接资源
)
基本查询:select 字段名1,字段名2....... from 要查询的表(表名)
如果要查询所有字段 可以使用(*)来代替 但是不建议使用
带where的子句查询
查询条件 >、>=、、!>、 1
确定范围: between.... and....、not between...and....
集合 :in 、 not in
字符匹配: like 、 not like
多重条件: and(和)、 or(或)
确定范围: between.... and.... ;【在...和...之间,包括边界值 如:between 23 and 28; 在23和28之间的值 】
not between...and.... ;【不在...和...之间,包括边界值 如:between 23 and 28; 不在23和28之间的值】
1