




免费预览已结束,剩余34页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SQL语法组成,DML(DataManipulationLanguage数据操作语言)查询、插入、删除和修改数据库中的数据;SELECT、INSERT、UPDATE、DELETE等;DCL(DataControlLanguage数据控制语言)用来控制存取许可、存取权限等;GRANT、REVOKE等;DDL(DataDefinitionLanguage数据定义语言)用来建立数据库、数据库对象和定义其列CREATETABLE、DROPTABLE、ALTERTABLE等功能函数日期函数、数学函数、字符函数、系统函数等,显示表结构操作,语法:describe表名;desc表名;叙述:用于显示表的创建结构。,删除数据库或表操作,删除表操作语法:droptableifexiststab_name,tab_name.叙述:从数据库中删除给定的表。如果给出ifexists子句,则删除不存在的表不会出错。删除数据库操作语法:dropdatabaseifexistsdb_name叙述:删除给定的数据库。在删除一个数据库后,它就永远没有了,因此要特别小心。如果给出ifexists子句,则删除不存在的数据库不会出错。,更改表结构操作,语法:altertable表名action;说明:action可以是如下语句:add列名建表语句first|after列名可以为表添加一列,如果没指定first或者after,则在列尾添加一列,否则在指定列添加新列addprimarykey(列名)为表添加一个主键,如果主键已经存在,则出现错误addforeignkey(列名)references表名(列名)为表添加一个外键alter列名setdefault默认值可以更改指定列默认值,change旧列名新列名first|after列名可以更改列类型和列名称,如果原列的名字和新列的名字相同modify列名first|after列名和change的作用相同drop列名/可以删除一列dropprimarykey/可以删除主键engine类型名/可以改变表类型renameas新表名/可以将表名更改,举例1:向people表中添加字段address2,类型为varchar,最大长度为100altertablepeopleaddaddress2varchar(100);举例2:将people表中的name列默认值改为100:altertablepeoplealternamesetdefault100;举例3:向student表增加“入学时间”列,其数据类型为日期型。altertablestudentaddscomedate;注:无论基本表中原来是否已有数据,新增加的列一律为空值。举例4:将年龄的数据类型改为半字长整数。altertablestudentmodifysagesmallint;注:修改原有的列定义有可能会破坏已有数据,插入记录操作,语法:叙述:如果表名后面没写字段名,则默认是向所有的字段添加值,另外字符串值应该用或“”引号括起来举例1:向people表中添加一条记录:insertintopeople(name,age)values(“zhangsan”,20);,INSERTINTO列名VALUES,插入案例,创建一张学生信息表,往表中插入数据createtablestudents(scodeintnotnullauto_increment,snamevarchar(20)notnull,saddressvarchar(20)default未知,sgradeint,semailvarchar(20),ssexbit,primarykey(scode);,插入数据行1,注意事项1:每次插入一行数据,不可能只插入半行或者几列数据,因此,插入的数据是否有效将按照整行的完整性的要求来检验;,插入数据行2,注意事项2:每个数据值的数据类型、精度和小数位数必须与相应的列匹配;,插入数据行3,注意事项4:如果在设计表的时候就指定了某列不允许为空,则必须插入数据;,插入数据行4,注意事项6:具有缺省值的列,可以使用DEFAULT(缺省)关键字来代替插入的数值,INSERTINTOStudents(SName,SAddress,SGrade,SEmail,SSEX)VALUES(张青裁,DEFAULT,6,ZQCS,0),插入多行数据,INSERTINTO(列名)VALUES(),(),(),插入多行数据,INSERTINTO(列名)SELECTFROM,学生、课程、成绩插入数据,学生信息95001,洛燕妮,女,20,信息系95002,欧阳炎,男,19,计算机系95003,何东升,男,21,美术系95004,刘晨,男,18,计算机系95005,沙明华,女,21,美术系95006,欧阳宝宝,男,19,美术系课程信息1,JAVA2,C3,.NET成绩信息95001,1,9895002,1,5095004,1,7095003,4,9595005,4,4095006,4,7795001,2,8095002,3,5895006,2,70,更改记录操作,语法:叙述:where子句是判断语句,用来设定条件,限制只更新匹配的行,如果不带where子句,则更新所有行数据。举例:将student表中的所有学生名称为Alex的改为Tom:updatestudentsetsname=Tomwheresname=Alex;,UPDATESETWHERE,更新数据行,删除记录操作,语法:叙述:此语句删除表中的行,如果不带where子句,则删除整个表中的记录,但是表不被删除。举例:删除student表中的所有年龄小于18岁的记录:deletefromstudentwheresage18;,DELETEFROMWHERE,补充说明,删除学生编号为95005的学生信息包括成绩信息deletefromstudent,scusingstudent,scwherestudent.sno=sc.studentidandstudent.sno=95005;说明:表和字段的引用方式有两种:绝对引用和相对引用绝对引用:数据库名.表名(.字段名)相对引用:表名.(字段名),总结:常用数据类型,MySQL数据类型,数据类型种类数值列类型字符串列类型日期和时间列类型,数据类型种类,数值型分为整型和浮点型整型:可以由十进制和十六进制表示整数由数字序列组成,如:1,100。由十六进制表示方法:0 x且后面加19和AF的任意数字或字母,并且0 x中的X不能大写。浮点型:浮点数由一个数字加一个小数点再加上一个数字组成。两个数字序列不能同时为空。,字符串:由单引号或者双引号括起来的字符或者数字。如:”abc”,abc10字符串中要用转义字符才能表示的特殊符号,日期和时间值是存储如“2005-1-1”或者“12:00:00”这样的数值的值。在MySQL中日期是按”年-月-日”的顺序。NULL值是一种无类型的值,表示“空,什么也没有”。,数值列类型,MySQL为除了NULL值外的所有通用数据类型提供了列类型。列类型是一种手段,通过这种手段可以描述表的列可以包含什么样类型的值。数值列类型所有数值列类型的类型名及其说明和所占的字节数见下表:,数值列类型包括整型和浮点型说明:TINYINT,SAMLLINT,MEDIUMINT,INT,BIGINT每个数据类型的取值范围不同,故分别可以表示不同的数值范围。在定义整型列时,可以指定可选的显示尺寸M(见上表),M是从1到255的值,它表示显示列中值的字符数。,例如:INT(4)意思是指定了一个具有4个字符显示宽度的INT列。如果定义了一个没有明确宽度的整数列,则会分配缺省的宽度,缺省值为每种类型的最长值的长度。对于每种浮点型,可指定一个最大的显示尺寸M和小数位数D,M的取值应该是0-30,但小于M-2。M和D对于DECIMAL是必须的。,AUTO_INCREMENT自动标识列,在需要产生唯一标志符号或者顺序值时候,可用此属性。值一般从1开始,每行增加1,在插入NULL到一个AUTO_INCREMENT列时,MySQL会插入一个比该列中当前最大值大1的值,一个表中最多能有一个有此属性的列。对于想使用此属性的列应该定义为NOTNULL,并定义为PRIMARYKEY或者定义为UNIQUE键。举例:createtablet(idintauto_incrementnotnullprimarykey);UNSIGNED无符号,此属性禁用负值,将数值的取值范围从零开始。举例:createtablet(numtinyint,num2tinyintunsigned);,数值列的完整性约束,NULL和NOTNULL默认为NULL,即插入值时没有在此字段插入值时自动填NULL,如果指定了NOTNULL,则必须在插入值时在此字段添入值,不允许插入NULL值。DEFAULT可以通过此属性来指定一个缺省值,即如果没有在此列添加值,那么默认添加DEFAULT后指定值。ZEROFILL前导零填充数值类型值以达到列的显示宽度。举例:createtabletest2(num1intdefault1,num2intzerofill);,字符串列类型所有字符串列类型及其说明和所占的字节数见下表:,说明:对于可变长的字符串类型,其长度取决于实际存放在列中的值的长度。此长度在上表中用L来表示。附加若干额外字节,用来记录字符串长度,也就是说总长度等于Ln(n1、2、3、4、8),CHAR和VARCHAR类型CHAR类型和VARCHAR类型长度范围都是0255之间的大小。他们之间的差别在于MySQL处理存储的方式:CHAR把这个大小视为值的准确大小(用空格填补比较短的值)。VARCHAR类型把它视为最大值并且只使用了存储字符串实际上需要的字节数(增加了一个额外的字节记录长度)。因而,较短的值当被插入一个语句为VARCHAR类型的字段时,将不会用空格填补(然而,较长的值仍然被截短)。,BLOB和TEXT类型BLOB是二进制大对象,如果想存储二进制数BLOB将是最佳选择,而TEXT与之相同,只是BOLOB按照二进制编码排序(区分大小写),TEXT按照字符文本模式排序(不区分大小写)。ENUM和SET类型是特殊的串类型,其列值必须从固定的串集中选择,二者差别为前者必须是只能选择其中的一个值,而后者可以多选。(不推荐使用),字符串列类型的可选属性BINARY使用此属性可以使列值作为二进制串处理,即看成BLOB类型。NULL和NOTNULL同数值型功能相同DEFAULT同数值型功能相同,日期和时间列类型所有时间和日期列类型的类型名及其说明和所占的字节数见下表:,说明:每个时间和日期列类型都有一个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑施工特种作业-建筑司索指挥信号工真题库-4
- 山东会考语文题目及答案
- 2023年学业水平合格考试三年分类汇编(真题)-专题一宇宙中的地球04地球的圈层结构
- 2023-2024学年福建省福州市八县(市)协作校高二下学期期末联考数学试题(解析版)
- 2025届湖南省新高考教学教研联盟高三第一次联考语文试题(解析版)
- 2024-2025学年山西省太原市高一上学期期末考试语文试题(解析版)
- 高中数学高一下学期期末考试试卷(含答案)
- 鹅卵石施工工艺
- 债务委托协议合法
- 汽车风窗玻璃清洗液产品质量河南省监督抽查实施细则
- 养老机构消防安全管理规定知识培训
- 法院婚内财产协议书模板
- 四年级信息技术测试卷附答案
- 云计算平台搭建与运维考核试卷
- 五年级下学期科学立体小菜园课件
- 2024年河北石家庄市市属国企业春季面向社会公开招聘282人易考易错模拟试题(共500题)试卷后附参考答案
- GB/T 44191-2024政务服务便民热线知识库建设指南
- 网课智慧树知道《运动疗法技术学(济宁学院)》章节测试答案
- MOOC 现代科技与人类未来-大连大学 中国大学慕课答案
- MOOC 数据挖掘与python实践-中央财经大学 中国大学慕课答案
- 国家开发大学电大《心理学》课程形成性考核册试题及答案(1-4)
评论
0/150
提交评论