My SQL学习笔记
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
My SQL学习笔记:
一、认识关系型数据库
1.数据库实际上就是管理数据的仓库,平常我们使用的一般是利用文件对数据进行保存和
管理,doc, xls, jpg等等,只要我们知道的一切能够保存数据的文件,我们都可以认为是一种保存和管理数据的方式。
2.但是对于大批量数据和便于网络操作而言,使用特定的数据库是很有必要的。
3.数据库系统(Database System)=数据(Data)+数据管理系统(Database Management
System)
4.通常意义的数据库:至少包含数据和管理数据的工具,我们知道,数据库还需要对外提
供接口让其他程序对数据库进行操作。
二、启动My SQL
1.启动数据库分为两部分,一部分是服务器,第二部分是客户端连接到服务器。
2.启动服务器:在Windows上安装My SQL后会在Windows服务管理中增加一条记录,可
以通过启动services.msc找到MySQL56进行启动。也可以使用net start
三、My SQL操作
分类:针对的操作对象不同,分成不同的语言:
1.数据操作(管理)语言DML
2.数据定义语言(对保存数据的格式进行定义)DDL
3.数据库控制语言(针对数据库软件服务进行操作)DCL
DCL控制DDL,DDL限制DML,即对数据库的操作、对表的操作、对数据的操作
DML又分为DQL和DML
四、数据库操作DCL
1.创建数据库:create database
2.查询数据库:show databases;
3.查看数据库的创建语句:show create database
4.删除数据库:drop database
5.修改数据库信息:alter database
对于数据库的名字,一般不进行修改,可以通过修改数据库文件夹的名字进行修改,也可以新建一个数据库,将数据库内容保存新数据库中
五、表操作
1.创建表:create table
1)先分析,需要保存的实体数据,拥有哪些属性,需要怎样保存
2)列结构:列名、列的数据类型、列的约束
2.查看表:
1)有那些表:show tables [like ‘pattern’]; 例如show tables like ‘city_%’;(表示已city_开头的
所有表)
2)某个表的创建信息:show create table
3)查看表结构:desc(describe)
3.删除表:
drop table [if exists]
4.修改表:
1)修改表名:rename table
rename table student to info_student, teacher to info_teacher;
2)修改字段(列)定义:
对列的操作都属于alter操作,不过对于增、删、改、重命名来说还有子操作。
增加列:alter table
删除列:alter table
修改列:alter table
重命名列:alter table
3)修改表选项:
alter table
六、数据操作
1.创建数据:
insert into
其中col_list表示要插入的字段列表,value_list表示要插入的相应字段的值,如果没有字段列表,则表示要插入所有的字段。即:insert into
2.查询数据:
select col_list from
select * from
*表示查询所有的字段。
关于options会有很多的操作,是对查询数据的筛选,以后会仔细讨论。
3.删除数据:
delete from
例:delete from student where score<60;
注:虽然语法上可以不使用where进行过滤,不过在删除时需要在逻辑上严格给出条件,否则容易造成数据误操作,导致损失。如果需要删除所有数据,建议使用where 1
4.修改数据:
update
例:update student set score=88 where score>72;
和删除数据一样,修改数据也要严格给出条件。
七、校对规则
这一点没有认真学习,以后要回来重新看
八、数据类型
在My SQL中分为三种类型:数值类型、时间日期类型、字符串类型。
1.数值类型:
数值类型分为整型和浮点型,另外还有一种特殊的类型,定点数。
1)整型:tinyint, smallint, mediumint, int, bigint, 分别占用1,2,3,4,8个字节。
可以使用unsigned控制是否有符号,例:age smallint unsigned
可以在定义数值类型中限制最小的显示长度,即前导零填充(zerofill),例:_id int(5) zerofill 在My SQL中没有bool类型,语法上不支持,但是实际我们可以使用tinyint(1)来表示
2)浮点型:float, double, 分别占用4,8个字节。
实际上,float的有效精度只有6位左右,double的有效精度只有16位左右。
支持控制数值的范围:
M表示最大的位数,D表示小数点后的位数。即表示整数位最多为M-D。
例:a float(5, 2) 表示a的范围为-999.99~999.99。
支持科学计数法:例:insert into