MYSQL基础学习笔记.docx
- 文档编号:3461714
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:43
- 大小:33.79KB
MYSQL基础学习笔记.docx
《MYSQL基础学习笔记.docx》由会员分享,可在线阅读,更多相关《MYSQL基础学习笔记.docx(43页珍藏版)》请在冰豆网上搜索。
MYSQL基础学习笔记
Day013
一.数据库(DataBaseDB)3
(7)SQL语言(结构化查询语言)4
(12)表的数据操作5
(13)MySql中的数据类型:
6
Day027
一.表结构的操作(DDL)7
1.给表添加字段7
2.删除表中的字段8
3.删除表8
4.修改字段数据类型8
5.修改字段名称8
6.设置默认值8
7.删除默认值8
8.添加主键9
9.删除主键9
10添加唯一性9
11删除唯一性9
12.表的重复名9
13.设置AUTO_INCREMENT初始值9
二.表数据的操作(DML)9
三.表数据查询(DQL)10
1.SELECT(查询)10
--[WHERE条件]:
过滤条件查询11
--[GROUPBY字段名称]:
将某个字段中的相同值分11
--[HAVING条件]:
对分组后的信息二次过滤11
Day0312
一.表中数据查询(DQL)12
二.MYSQL运算符和函数12
1.算术运算符:
+-*/%MOD例如12
2.字符函数13
3.比较运算13
4.逻辑运算13
5.信息函数14
6.聚合函数14
7.加密函数14
三.多表操作14
1.INSERT...SELECT...14
2.多表更新14
3.多表连接查询14
(1)内连接:
INNERJOIN15
(2)外连接:
15
三.约束(CONSTRAINT)15
Day0415
一.约束(CONSTRAINT)15
(3)约束格式16
a.列约束16
b.表约束16
二.无限级分类(级联菜单)17
三.多表操作2:
17
1.多表连接查询17
2.多表删除17
3.子查询(subQuery):
17
4.INSERT...SET:
能实现子查询18
5.通过可视化工具管理数据库18
6.字段注释(COMMENT)18
Day0519
一.PHP中的MYSQL函数库19
1.为什么学MYSQL函数19
2.安装MYSQL函数库19
3.MYSQL函数19
(1)连接MYSQL数据库19
(2)选择数据库19
(3)执行SQL语句19
(4)MYSQL客户端编码19
(5)将结果集转数组20
Day0620
一分页原理20
1.SQL语句LIMIT实现分页20
2.实现分页步骤21
二.MYSQL函数库21
1.通过MYSQL函数库函数实现查看表结构信息21
2.防止SQL注入函数21
Day01
一.数据库(DataBaseDB)
1.存储一定结构的数据的仓库
2.数据库分类
关系型数据库:
MySql,SqlServer,Oracle等数据库
非关系型数据库:
mongDB,NoSql等(用对象产生关系)
3.MySql
(1)安装
(2)DOC命令
a.盘符:
切换盘符
b.cd文件夹名称进入文件夹
c.cd..退出文件夹
(3)开始-运行-输入cmd(window+R)
(4)mysql登录和退出
a.mysql-u用户名-p密码
-P3306-D数据库名称
b.退出
exit
quit
\q
《例1.1》
--mysql登录1
mysql-uroot-proot
--mysql登录2有端口号
mysql-uroot-proot-P3306
--mysql登录2有端口号直接进入数据库test
mysql-uroot-proot-P3306-Dtest
--退出1
exit;
--退出2
quit;
--退出3
\q;
(5)mysql注释
#注释
--注释
(6)Mysql配置文件(my.ini)
[mysqld]
#TheTCP/IPPorttheMySQLServerwilllistenon
port=3306服务器端的端口号
#Pathtoinstallationdirectory.Allpathsareusuallyresolvedrelativetothis.
basedir="F:
/psd1511/mysql/"
服务器的安装位置
#Pathtothedatabaseroot
datadir="C:
/DocumentsandSettings/AllUsers/ApplicationData/MySQL/MySQLServer5.5/Data/"
数据库信息存储位置
#createdandnocharactersetisdefined
character-set-server=utf8
服务器端的mysql编码
#Thedefaultstorageenginethatwillbeusedwhencreatenewtableswhen
default-storage-engine=INNODB
mysql数据库的默认引擎InnoDB
(7)SQL语言(结构化查询语言)
a.DDL(Sql语言定义):
创建数据库,创建表,创建视图,创建存储过程等
创建(CREATE)删除(DROP),修改(ALTER)
b.DML(Sql语言操作):
数据库中的数据增删改操作
增(INSERT)删(DELETE)改(更新UPDATE)
c.DQL(Sql语言的查询):
Sql语言的查询(SELECT)
d.DCL(Sql语言控制操作):
例如GRANT或REVOKE分配和取消权限操作
(8)mysql命令规范
a.系统命令必须大写,名称小写
b.mysql命令结束分隔符用分号或\g
更改分隔符DELIMITER分隔符名称
c.mysql命令支持折行但名称,函数,引号不能折行写
d.名称不能和关键字或保留字冲突,如果冲突
用反引号括起来`名称`
(9)创建数据库(DDL)
a.查看所有数据库
SHOWDATABASES;
b.创建数据库命令
CREATEDATABASE[IFNOTEXISTS]数据库名称
[[DEFAULT]CHARACTERSET[=]编码];
c.删除数据库
DROPDATABASE[IFEXISTS]数据库名称
d.修改数据库编码
ALTERDATABASE数据库名称
[DEFAULT]CHARACTERSET[=]编码;
e.查看创建数据库的命令:
SHOWCREATEDATABASE数据库名称
f.打开(使用)数据库
USE数据库名称
e.查看当前使用的数据库
SELECTDATABASE();
(10)修改提示符
a.修改
prompt提示符名称
mysql-uroot-proot--prompt=提示符名称
说明:
\umysql用户名
\h服务器主机名称
\D系统时间日期
\d数据库名称
b.恢复
promptmysql>
(11)创建表(DDL)
a.查看指定数据库中的所有表
SHOWTABLES
b.创建表
CREATETABLEIFNOTEXISTS
表名(
字段(Field)名称1数据类型[字段属性或完整性约束],
字段名称2数据类型[字段属性或完整性约束],
...
)ENGINEInnoDBDEFAULTCHARSET=utf8;
c.查看表结构
DESC表名;
DESCRIBE表名;
SHOWCOLUMNSFROM表名;
d.查看创建表的命令
SHOWCREATETABLE表名;
说明:
数据库中的最小单位表,
一定是先有表结构,然后添加数据
《例1.2》
--创建psd1511数据库1
CREATEDATABASEpsd1511;
--创建数据库2设置编码
CREATEDATABASEIFNOTEXISTSTEST2
DEFAULTCHARACTERSETutf8;
--删除数据库psd1511
DROPDATABASEpsd1511;
--创建psd1511数据库
CREATEDATABASEpsd1511
DEFAULTCHARACTERSETgbk;
--查看创建数据库命令
SHOWCREATEDATABASEpsd1511;
--修改psd1511数据库编码为utf8
ALTERDATABASEpsd1511
CHARACTERSETutf8;
--打开(使用)数据库
USEpsd1511;
--查看当前使用的数据库
SELECTDATABASE();
(12)表的数据操作
a.添加表数据
INSERT[INTO]表名(字段名,字段名...)
VALUE[S](值,值...);
b.查询表数据
SELECT*FROM表名;查询所有字段
SELECT字段名,字段名...FROM表名;
(13)MySql中的数据类型:
a.整型
TINYINT[(M)][UNSIGNED|ZEROFILL]:
(存储大小1字节2^8)
范围:
无符号位0~255
有符号位-128~127
SMALLINT[(M)][UNSIGNED|ZEROFILL]:
(存储大小2字节2^16)
范围:
无符号位0~65535
有符号位-32678~32677
MEDIUMINT[(M)][UNSIGNED|ZEROFILL]:
(存储大小3字节2^24)
范围:
无符号位0~16777215
有符号位-8388608~8388607
INT[(M)][UNSIGNED|ZEROFILL]:
(存储大小4字节2^32)
范围:
无符号位0~4294967295
有符号位-2147483648~2147483647
BIGINT[(M)][UNSIGNED|ZEROFILL]:
(存储大小4字节2^64)
说明:
UNSIGNED:
无符号位(正值)
ZEROFILL:
填补0,结合数字长度使用
当添加的数字长度小于指定长度填补0
自动添加UNSIGNED.
b.浮点型
FLOAT[(M,D)][UNSIGNED|ZEROFILL]
单精度浮点范围:
-3.4e38~3.4e38
DOUBLE[(M,D)][UNSIGNED|ZEROFILL]
双精度浮点范围:
-1.79e308~1.79e308
DECIMAL[(M,D)][UNSIGNED|ZEROFILL]
没误差存储浮点数
说明:
M小数点之前位数,D小数点之后位数
M最多65个,D最多30个,默认M10,D0
c.字符型
CHAR[(M)]:
定长字符,范围至多255字节(一个字母但一个字节)
VARCHAR[(M)]:
变长字符,
范围受一下条件影响:
(1)范围至多65535字节
(2)gbk:
至多2字节,65532/2
uf8:
至多3字节,65535/3=21844
(3)字段中的所有CHAR,VARCHAR总长度不超多65535
TINYTEXT:
至多255字节
TEXT:
至多65535字节
MEDIUMTEXT:
16777215字节
LONGTEXT:
4294967295字节
说明:
CHAR效果最高,不省空间
VARCHAR效果低,省空间
TEXT效率最低
d.枚举型
enum最多能存65535个值
例如:
sexenum('man','women','secret')
(14)完整性约束条件
[DEFAULT]:
默认值
[NOTNULL]:
不为空(值必填)
[[PRIMARY]KEY]:
一个表中必须
有一个主键,自动添加
NOTNULL,并且不重复
[UNIQUE[KEY]]:
不重复,一个表中只
能有一个主键,但可以有多个
不重复
[AUTO_INCREMENT]:
编号自动增长1,
必须和primarykey结合使用
(15)mysql帮助
help关键字
?
关键字
\h关键字
Day02
一.表结构的操作(DDL)
1.给表添加字段
ALTERTABLE表名
ADD字段名称数据类型[字段属性|完整约束]
[AFTER字段|FIRST]
ALTERTABLE表名
ADD字段名称数据类型[字段属性|完整约束]
[AFTER字段|FIRST],
ADD字段名称数据类型[字段属性|完整约束]
[AFTER字段|FIRST]
.《例1.1》给表添加字段
--SETNAMESGBK;
--将addr放到字段email后面
ALTERTABLEcms_users
MODIFYaddrVARCAHR(50)AFTERemail;
--给表cms_users添加信息要求不写字段名称
--每个字段都有赋值
INSERTcms_usersVALUE(
1,'Tom','123456',20,1,
5003.67,'11@','北京');
--给表cms_users添加信息
INSERTcms_users(username,password)
VALUE('rose','rose123');
--给表cms_users一次添加多行信息
INSERTcms_users(username,password)
VALUE('jhondf','jhfdn123'),
('dfdfn','bfdf123'),
('kjkfn','bfdf123'),
('ddfdfn','yuy123'),
('tyuyfn','buy123'),
('iouie','adfce123');
--给表cms_users添加一条信息
INSERTcms_usersSET
username='wrery',password='dfdf123';
2.删除表中的字段
ALTERTABLE表名
DROP字段名称,
DROP字段名称
...
3.删除表
DROPTABLE表名;
4.修改字段数据类型
ALTERTABLE表名
MODIFY字段名称数据类型[字段属性|完整约束]
[AFTER字段|FIRST];
5.修改字段名称
ALTERTABLE表名
CHANGE旧字段名称新字段名称数据类型
[字段属性|完整约束]
[AFTER字段|FIRST];
6.设置默认值
ALTERTABLE表名
ALTER字段名称SETDEFAULT值
7.删除默认值
ALTERTABLE表名
ALTER字段名称DROPDEFAULT
8.添加主键
ALTERTABLE表名
ADDPRIMARYKEY(字段名称)
9.删除主键
ALTERTABLE表名
DROPPRIMARYKEY
说明:
必须保证没有auto_increment,
才能删除主键
10添加唯一性
a.ALTERTABLE表名
ADDUNIQUEKEY|INDEX(字段名称)
b.ALTERTABLE表名
ADD[CONSTRAINT约束名称]
UNIQUEKEY|INDEX(字段名称)
说明:
如果设置唯一性没有定义约束名称,会将
字段名称作为约束名称,但定义约束名称后
删除唯一性时要写定义的约束名称
11删除唯一性
ALTERTABLE表名
DROPKEY|INDEX约束名称
12.表的重复名
a.ALTERTABLE表名
RENAME[TO|AS]新表名
b.RENAMETABLE表名
TO新表名
13.设置AUTO_INCREMENT初始值
ALTERTABLE表名
AUTO_INCREMENT=值;
二.表数据的操作(DML)
1.INSERT(插入)
a.不需要写字段添加信息
(没写字段名要求对应的字段值顺序添加不能省略)
INSERT[INTO]表名
VALUE[S](值,值,值...);
b.写字段添加信息
INSERT[INTO]表名(字段名称,字段名称...)
VALUE[S](值,值...);
c.添加多行信息
INSERT[INTO]表名(字段名称,字段名称...)
VALUE[S]
(值,值...),
(值,值...)...;
d.只能添加一条信息
INSERT[INTO]表名
SET字段名称=值,字段名称=值,字段名称=值...;
2.UPDATE(更新,修改)
UPDATE表名SET字段名称=值,字段名称=值...[WHERE条件]
说明:
当UPDATE中没有条件将更新表中的所有行对应得数据
3.DELETE(删除)
a.DELETEFROM表名[WHERE条件]
说明:
如果没有条件,将清空整个表中的数据,
通过DELETE清空的数据表,
AUTO_INCREMENT不能重置
b.TRUNCATE[TABLE]表名;
说明:
清空整个表中的数据,并且AUTO_INCREMENT能重置
三.表数据查询(DQL)
1.SELECT(查询)
(1)SELECT*FROM表名
说明:
效率低
(2)SELECT字段名称|expr,
字段名称|expr...FROM表名
(3)给字段起别名
SELECT字段名称|expr[AS]别名
FROM表名;
(4)给表起别名
SELECT字段名称|exprFROM
表名[AS]表别名;
(5)表.字段名称(说明字段来自于哪个表)
SELECT表.字段名称|exprFROM
表名
(6)库名.表(表来自于哪个数据库)
SELECT字段名称|expr
FROM库名.表名;
(7)
SELECT字段名称FROM表名
[WHERE条件]|
[GROUPBY字段名称]|
[HAVING条件]|
[ORDERBY字段名称]|
[LIMITOFFSET,LENGTH]
--[WHERE条件]:
过滤条件查询
a.比较运算符=>>=<<=
!
=<><=>(判断null值)
b.IS[NOT]NULL判断null值
c.&&,AND逻辑与
d.||,OR逻辑或
e.[NOT]BETWEEN...AND范围值
f.[NOT]IN(值,值...)指定值
g.[NOT]LIKEstring[ESCAPEstring]
说明:
模糊查询
关键字:
%:
代表0个或1个或多个字符
_:
代表1个字符
《例》
--SETNAMESGBK;
--将addr放到字段email后面
ALTERTABLEcms_users
MODIFYaddrVARCAHR(50)AFTERemail;
--给表cms_users添加信息要求不写字段名称
--每个字段都有赋值
INSERTcms_usersVALUE(
1,'Tom','123456',20,1,
5003.67,'11@','北京');
--给表cms_users添加信息
INSERTcms_users(username,password)
VALUE('rose','rose123');
--给表cms_users一次添加多行信息
INSERTcms_users(username,password)
VALUE('jhondf','jhfdn123'),
('dfdfn','bfdf123'),
('kjkfn','bfdf123'),
('ddfdfn','yuy123'),
('tyuyfn','buy123'),
('iouie','adfce123');
--给表cms_users添加一条信息
INSERTcms_usersSET
username='wrery',password='dfdf123';
--更新第二条记录(records)中字段addr为天津
UPDATEcms_usersSET
addr='天津'WHEREid=2;
--更新所有age字段加1
UPDATEcms_usersSET
age=age+1;
--删除第5条记录
DELETEFROMcms_usersWHEREid=5;
--清空整个表中的数据
DELETEFROMcms_users;
--添加一条记录
INSERTcms_users(username,password)
VALUE('rose','rose123');
--清空整个表中的数据
DELETEFROMcms_users;
--重置AUTO_INCREMENT
ALTERTABLEcms_users
AUTO_INCREMENT=1;
--添加一条记录
INSERTcms_users(username,password)
VALUE('rose','rose123');
--清空整个表中的数据
TRUNCATEcms_users;
--添加一条记录
INSERTcms_users(username,password)
VALUE('rose','rose123');
--cms_users中username,salary字段所有信息
SELECTusername,salaryFROMcms_users;
--SELECT表达式计算
SELECT2+'34abc',7*'5';
--cms_users中username,salary字段所有信息
--给字段起别名
SELECTusernameAS姓名,salary薪水
FROMcms_users;
--给表起别名
SELECTusername,salary
FROMcms_usersAS
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MYSQL 基础 学习 笔记