SQL学习总结
sql知识点总结(完整).(良心出品必属精品)
Sql 总结1.数据模型主要有:层次模型,网状模型,关系模型,2.数据库设计的步骤:需求分析,概念结构设计,逻辑结构设计,数据库物理设计,数据库实施,数据库运行和维护六个阶段。
3.实体之间的关系:一对一、一对多、多对多。
4.数据库文件主要有:主数据文件、次数据文件、日志文件其中次数据文件是可选的。
--这是建库的过程if exists(select*from sysdatabases where name='tt' drop database ttcreate database tton(name=tt,filename='d:\data\tt.mdf',size=4mb,maxsize=50mb,filegrowth=15%log on(name=tt1,filename='d:\data\tt1.ldf', size=5mb,maxsize=79mb,filegrowth=15%--这是对数据库的修改alter database ttmodify file(name=tt1,maxsize=89mb--增加日志文件alter database ttadd log file(name=oo,filename='d:\data\oo.ldf', size=5mb,maxsize=79mb,filegrowth=15%----查看数据库sp_helpdb tt5.重要的数据类型Int float char(size datetime varchar(size 6.在数据库中添加表use ttgoif exists(select*from sysobjects where name='t_li' drop table t_licreate table t_li(a char(4not null,b int not null,c datetimeinsert into t_li values('yy',78,2012-5-12insert into t_li (a,bvalues('ttf',89select*from t_li--新建一个表,往表里添加t_li的数据create table t_ti1(a char(4not null,b int not nullinsert into t_ti1select a,b from t_li---这种方法不用重建select a,binto t_li2from t_liselect*from t_li26.使用union关键字插入多行数据---利用union一次插入多行数据insert into t_li (a,b,c select'aa',55,2012-8-12 union select'cc',54,2032-5-127.对数据表进行操作---对表的修改alter table t_lialter column a char(8select*from t_li--添加字段add d char(9--删除字段alter table t_lidrop column d--表的查询select*from t_li8.对字段添加约束---添加主键约束应该注意是主键约束字段的值不能是重复的alter table t_liadd constraint pk_a primary key(a---添加外键约束alter table t_liadd constraint fr_b foreign key(breferences t_li4(b--添加唯一约束alter table t_liadd constraint t_li_uq unique(a---添加默认约束add constraint t_li_df default(20for b--添加check约束alter table t_liadd constraint t_li_ck check(b between 0 and 50 ---删除约束alter table t_lidrop constraint t_li_ck9.对于表的查询(单表查询select*from Customersselect c_ID,c_Name,c_TrueName,c_Password from Customers-----(查询WebShop数据库中会员信息表Customers中会员的编号(c_ID、-----用户名(c_Name、真实姓名(c_TrueName、年龄(c_Age和密码(c_Password。
SQL总结(精选合集)
SQL总结(精选合集)第一篇:SQL总结1.SQL语句的With cte as用法:with as短语,也叫做子查询部分。
即定义一个SQL片断,该片断会让整个SQL语句所用到。
eg:withcr as(select CountryRegionCode from person.CountryRegion where Name like 'C%')select * from person.StateProvince where CountryRegionCode in(select * from cr)CTE后面必须直接跟使用CTE的SQL语句(如select,insert,update等),否则,CTE将失效。
CTE后面也可以跟其他的CTE,但只能使用一个with,多个CTE中间用逗号(,)分隔。
eg:withcte1 as(select * from table1 where name like 'abc%'),cte2 as(select * from table2 where id > 20),cte3 as(select * from table3 where price < 100)select a.* from cte1 a, cte2 b, cte3 c where a.id = b.id and a.id = c.id2.case when then多条件判断:CASEWHEN 条件1 THEN 结果1WHEN 条件2 THEN 结果2WHEN 条件3 THEN 结果3WHEN 条件4 THEN 结果4.........WHEN 条件N THEN 结果NELSE 结果XENDCase具有两种格式。
简单Case函数和Case搜索函数。
--简单Case函数CASE sexWHEN '1' THEN '男'WHEN '2' THEN '女'ELSE '其他' END--Case搜索函数CASE WHEN sex = '1' THEN '男'WHEN sex = '2' THEN '女'ELSE '其他' END3.select语句前面加@转义字符的作用是强制后面的字符串中不使用转义字符,当作字符串处理。
sql学习心得(精选3篇)
sql学习心得(精选3篇)sql学习心得篇1转眼间在从大一踏进学校的校门到现在刚刚好一年了,在这一年中,数据库也如影随形。
在这一年中我主要学习的数据库是sqlserver__,在学习的时候过程中,我们首先是从基础开始,比如数据类型、运算符号、关键字等等,然后上升到一些增删改查,还有触发、存储过程等的使用等等。
经过了一学期的学习,我从起初对数据库的认识模糊到后来清晰,深入,我认为我学到了许许多多的东西。
当然,在学习中,薛立柱会给我们在网上下很多的学习资料,同时他也会建议我们多读读网上的学习资料。
除了这个以外,我在学习数据库课程过程中,接触到的软件工程思想,网上学习经验,以及利用网络的学习资源都很好的改善了我的学习。
后来,在学习的深入中,虽然学习有时是十分叫人感到枯燥乏味的,但我庆幸的是我坚持了下来,在最后的考试复习中,薛立柱老师虽然劝诫我学习不要因为考试而停止。
是啊!要想学好一门功课我们需要的是持之以恒的精神。
数据库编程,这个是作为一个程序员的基本功,绝大多数软件开发公司数据库编程都是由程序员自己完成的,因为他的工作量不是很大,也不是很复杂。
所以作为一个综合的程序员,学习数据库编程,像数据库四大操作,增删改查,还有触发、存储过程等的使用,这些都是基础的基础。
很多时候我们会认为数据库没什么作用,学习的时候吊儿郎当,到今年做项目时,还不会连接查询,要想避免这种情况发生就必须打好基础,扎实的掌握每个知识点。
只要你从事计算机行业,就需要学习好数据库的基础知识,不论以后选择哪个方向,数据库的学习都不能放松。
古人云:书到用时方恨少,知识学多了不会成为累赘,慢慢的积累,总有用到的时候。
给自己明确一个目标,剩下的就是向着这个目标努力,无论遇到什么困难,克服它就向成功迈进了一步。
学习数据库的心得(2):一:学习心得经过一个学期的数据库课程的学习,我们掌握了创建数据库以及对数据库的操作的基础知识。
数据库这门课涉及到以前的知识不多,是一门从头学起的课程,即使基础不是很好,只要认真听讲、复习功课,还是一门比较容易掌握的课。
SQL语言学习工作总结范文
SQL语言学习工作总结范文SQL语言学习工作总结尽管我在过去的几个月里已经了解和使用了SQL语言,但在这个学习工作总结中,我想回顾我在SQL语言上所取得的进展,以及我在实践中遇到的挑战和解决方案。
SQL(结构化查询语言)是一种用于管理和操作数据库的编程语言。
它是许多关系数据库管理系统(RDBMS)的标准语言,如MySQL、Oracle和Microsoft SQL Server 等。
我希望通过这篇总结,能够对自己在SQL语言方面的学习和工作有一个清晰的了解,并进一步提高自己的技能和能力。
一、学习进展在过去几个月里,我有幸参加了一些SQL语言的培训课程和在线教程,这些课程帮助我建立了一个坚实的SQL基础。
我学习了SQL的基本语法,包括创建数据库和表格、插入、更新和删除数据,以及使用SELECT语句查询数据等。
此外,我还学习了SQL的高级功能,例如联合查询、子查询和表连接。
通过这些课程的学习,我建立了对SQL语言的深入理解,并能够应用它来解决实际的数据管理问题。
二、实践挑战虽然我在学习SQL的过程中遇到了一些挑战,但我通过不断的实践和尝试克服了它们。
其中一个挑战是理解和使用复杂的联合查询。
在开始学习的时候,我发现多个表格之间的关联查询需要一些时间来理解和掌握。
我通过阅读文档、参考实例和尝试实践,逐渐提高了自己对联合查询的掌握程度。
另一个挑战是性能优化,有时查询过程较慢。
为了解决这个问题,我学习了索引的概念和使用方法,使用索引来提高查询的效率。
此外,我还学习了如何编写有效的SQL语句,避免不必要的复杂性和冗余。
三、解决方案在面对各种挑战时,我采取了一些解决方案来提高自己的工作效率和能力。
首先,我保持了持续的学习和实践。
SQL语言是一门不断发展和演变的技术,我始终保持学习和探索的状态,通过参加培训、阅读相关书籍和博客,以及参与社区讨论来不断提高自己的技能。
其次,我重视实践和项目经验。
通过在实际项目中应用SQL语言,我能够更好地理解和掌握SQL的应用场景和解决方法。
SQL语言学习总结
SQL语言学习总结1. SQL(Structured Query Language)是一种用于管理关系数据库系统的标准语言。
通过SQL语句可以对数据库进行创建、查询、修改和删除等操作。
2. SQL语句主要分为四种类型:数据操作语言(DML),数据定义语言(DDL),数据控制语言(DCL)和事务控制语言(TCL)。
3. 数据操作语言(DML)主要用于对数据库中的数据进行查询和修改操作,常用的DML语句有SELECT、INSERT、UPDATE和DELETE。
4. 数据定义语言(DDL)用于定义数据库结构,包括创建表、修改表和删除表等操作,常用的DDL语句有CREATE、ALTER和DROP。
5. 数据控制语言(DCL)用于设置数据库用户的权限和角色,常用的DCL语句有GRANT和REVOKE。
6. 事务控制语言(TCL)用于管理数据库事务,常用的TCL语句有COMMIT、ROLLBACK和SAVEPOINT。
7. SQL语句可以通过执行顺序分为两种类型:批处理SQL和交互式SQL。
批处理SQL 一次执行多条SQL语句,而交互式SQL是一次执行一条SQL语句。
8. SQL语句可以使用通配符、操作符和函数来进行数据查询和处理。
通配符可以用来匹配模式,操作符用于比较和计算,函数用于处理数据和返回结果。
9. SQL语句可以使用条件语句和连接语句来进行复杂的数据查询和更新操作。
条件语句用于筛选数据,连接语句用于联结多个表进行查询。
10. 使用索引可以提高数据库的查询性能,可以通过创建索引来加快查询速度。
索引可以使用CREATE INDEX语句创建,也可以通过ALTER TABLE语句添加。
总的来说,学习SQL语言需要熟悉常用的语法、理解不同类型的SQL语句的用途和使用场景,并通过实践和练习来加强对SQL语言的理解和应用能力。
sql 知识点总结
sql 知识点总结SQL的基本数据操作语言包括以下几个方面:1. 查询数据:SELECT语句用于从数据库表中检索数据。
2. 插入数据:INSERT INTO语句用于向数据库表中插入新记录。
3. 更新数据:UPDATE语句用于更新数据库表中的现有记录。
4. 删除数据:DELETE FROM语句用于从数据库表中删除记录。
除了这些基本的数据操作,SQL还包括其他很多功能,比如创建和管理数据库表、设置数据的完整性约束、执行数据库事务等。
下面我们来一一介绍这些方面的内容。
一、SQL基本语法SQL基本语法非常简单明了,由几个关键字和一些常用的操作符组成。
SQL语句通常以分号结尾。
SQL语句不区分大小写,即SELECT和select是等同的。
常用的SQL关键字有SELECT、FROM、WHERE、GROUP BY、ORDER BY、INSERT INTO、UPDATE、DELETE FROM等。
二、查询数据SELECT语句是SQL中用来查询数据的核心命令。
通过SELECT语句,可以指定从数据库中检索哪些数据,以及如何对这些数据进行排序和分组。
SELECT语句的一般语法如下:SELECT 列名1, 列名2, ...FROM 表名WHERE 条件;其中,列名是需要检索的列的名称,表名是要从中检索数据的表的名称,条件是用来筛选检索结果的条件。
如果不指定条件,则将检索表中的所有数据。
例如,要检索名为“张三”的学生的所有信息,可以编写如下的SQL语句:SELECT *FROM studentsWHERE name = '张三';这将返回符合条件的所有学生的信息。
三、插入数据插入数据是SQL中的一项重要操作。
通过INSERT INTO语句,可以向数据库的表中插入新的记录。
INSERT INTO语句的一般语法如下:INSERT INTO 表名 (列名1, 列名2, ...)VALUES (值1, 值2, ...);其中,表名是要插入记录的表的名称,列名是要插入数据的列的名称,值是要插入的具体数值。
sql知识点总结大全
sql知识点总结大全一、SQL的基本概念SQL(Structured Query Language)是一种专门用来与数据库进行交互的语言,它是一种标准的数据库查询语言,被用于操作关系数据库管理系统(RDMS)。
SQL可以用来增删改查数据库中的数据,也可以用来创建或删除数据库和表格。
SQL是一个非常强大而且灵活的语言,它为程序员和数据库管理员提供了强大的数据管理和查询能力。
SQL的基本概念包括:数据定义语言(DDL)、数据操纵语言(DML)、数据查询语言(DQL)、数据控制语言(DCL)以及数据事务控制语言(TCL)。
1.数据定义语言(DDL)数据定义语言用于定义数据库的结构和组件,包括创建、修改和删除数据库、表格、索引等。
常见的DDL语句包括:CREATE、ALTER、DROP等。
2.数据操纵语言(DML)数据操纵语言用于对数据库中的数据进行增、删、改。
常见的DML语句包括:SELECT、INSERT、UPDATE、DELETE等。
3.数据查询语言(DQL)数据查询语言用于从数据库中检索数据,包括查询特定的数据行或列。
DQL语句中最常用的是SELECT语句,用于检索数据库中的数据。
4.数据控制语言(DCL)数据控制语言用于控制数据库的访问权限和安全性,包括分配权限、撤销权限、创建角色等。
常见的DCL语句包括:GRANT、REVOKE等。
5.数据事务控制语言(TCL)数据事务控制语言用于管理数据库的事务,包括事务的开始、提交、回滚等。
常见的TCL语句包括:BEGIN TRANSACTION、COMMIT、ROLLBACK等。
二、SQL的数据类型在SQL中,每个表格的列都要被指定数据类型。
常见的数据类型包括:整数、小数、日期和时间、字符串等。
比如:INT、VARCHAR、DATE等。
常见的数据类型包括:整数型(INTEGER、INT)、浮点数型(FLOAT、DOUBLE)、货币类型(MONEY)、日期和时间类型(DATE、TIME)、字符串类型(CHAR、VARCHAR)、布尔型(BOOLEAN)等。
sql学习心得5篇精选汇总
sql学习心得5篇精选汇总结构化查询语言(SQL)是用于关系数据库管理和数据操作的标准计算机语言。
下面给大家带来一些关于sql实验心得,希望对大家有所帮助。
sql实验心得1sQL是structured Query Language(结构化查询语言)的缩写。
sQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。
在使用它时,只需要发出做什么的命令,怎么做是不用使用者考虑的。
sQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持sQL。
它的强大功能以前就听人说过,所以就选了这门课。
经过一个学期的数据库课程的学习,我们掌握了创建数据库以及对数据库的操作的基础知识。
幸老师的教学耐心细致,课堂上我们有不理解的地方老师都反复讲解,使我们的基础知识掌握的比较牢固。
数据库这门课涉及到以前的知识不多,是一门从头学起的课程,即使基础不是很好,只要认真听讲、复习功课,还是一门比较容易掌握的课。
通过学习,我对数据库没有了神秘感,简单的说下我对数据库的理解吧。
我觉得它就是创建一些表格,然后再用一些语句根据他们之间的关系,把它们组合在一起。
最基本的就是子查询了。
我的子查询经验就是先写出select _ 我们要找什么,然后写条件,我们要找的东西有什么条件,然后在写条件,我们的条件涉及那些表,那些字段,再在这些字段中通过我们学过的简单select语句选出来,有时候还要用到几层子查询,不过无所谓,只要思路是清晰的就没什么问题了。
接下来,关联查询之类的,学起来也是不难的,但有一点必须注意,那就是上课必须跟着老师的进度走,一定要注意听讲,勤做笔记.这样,你学起来就会得心应手,没什么困难。
总之,这是一门很值得学的课程,自己学过获益匪浅,就算自己将来不从事这个行业,但是至少对数据不再陌生,甚至还略知一二。
呵呵谢谢老师~!延伸阅读:数据库设计心得体会跟老板做了两个算是比较大的项目,数据库主体都是我设计的。
sql学习与总结
SQL 学习与总结1.sql 不区分⼤大⼩小写可以把 SQL 分为两个部分:数据操作语⾔言 (DML) 和数据定义语⾔言 (DDL)。
查询和更新指令构成了 SQL 的 DML 部分:• SELECT - 从数据库表中获取数据• UPDATE - 更新数据库表中的数据• DELETE - 从数据库表中删除数据• INSERT INTO - 向数据库表中插⼊入数据SQL 的数据定义语⾔言 (DDL) 部分使我们有能⼒力创建或删除表格。
我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。
SQL 中最重要的 DDL 语句:• CREATE DATABASE - 创建新数据库• ALTER DATABASE - 修改数据库• CREATE TABLE - 创建新表• ALTER TABLE - 变更(改变)数据库表• DROP TABLE - 删除表• CREATE INDEX - 创建索引(搜索键)• DROP INDEX - 删除索引在结果集(result-set)中导航由 SQL 查询程序获得的结果被存放在⼀一个结果集中。
⼤大多数数据库软件系统都允许使⽤用编程函数在结果集中进⾏行导航,⽐比如:Move-To-First-Record、Get-Record-Content、Move-To-Next-Record 等等。
在表中,可能会包含重复值。
这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。
关键词 DISTINCT ⽤用于返回唯⼀一不同的值。
SELECT DISTINCT 列名称 FROM 表名称select distinct col1,col2 from table1,表⽰示col1和col2都相同的只出来⼀一笔。
默认是⽤用于后⾯面的所有列,如果要指定部分列的话,需要加括弧select (distinct col1),col2 from table如需有条件地从表中选取数据,可将 WHERE ⼦子句添加到 SELECT 语句。
SQL实训总结(共5篇)
SQL实训总结(共5篇)第一篇:SQL实训总结SQL实训总结为期五天的实习,很快就过去了,让我重新了解了丰富多彩的编程生活,感受到了学习的快乐,也感觉到了许许多多的专业问题,亲身体验了窗体与工程制成之后的喜悦之情。
在实训期间,我学到了许多东西,遇到了一些困难,也看到了自己本身存在着许多问题。
这次实训给我带来了危机感和压迫力,让人警醒,更加清楚自己的水平和重量,心里总有种被大石头压着的无力感,但是又凭着一种坚持,奋力的抗争着。
所以也得出个结论,那就是——我得好好好好的努力啊。
这已经是我们的第四次实训了,在我进入大学的这两年多里,或多或少的学到了一些专业的东西。
我知道自己很爱玩,于是为了能够提高锻炼自己,我把本次为期一周的VB、SQL制作实训看作是一个通向社会,通向我的工作岗位的“理论与实践相结合的桥梁”。
在本周的实训和学习,我一直知道此次实训的目的,也知道我自己的目的,同时也清楚目前自己的不足——缺乏相应的知识与经验,对所学的专业知识不能够很好地运用于实践操作,所以我是认真的对待这次实训的。
在这次实训中,我也有许多收获。
首先,我体会到了作为一个VB 设计师,不会将VB与SQL结合的痛苦和尴尬;然后,我发现了很多以前都不曾注意到的细节;其次,在实训中,我对作为一名编程者应该学习的内容做了一个更深层次的理解;最后,我还从这次实训中看到了自己很他人的差距,危机意识增强,为了不使这个差距拉大,甚至赶上前面的同学,我会努力的。
本次实训,给我最深刻、最刻骨铭心的感觉就是累,不仅每天白天要一整天对着一台机器,而且到了晚上还要对着这台机器来一个法式的“秉烛夜谈”,可惜的是没有浪漫的事前发生,我也只是对牛谈情而已,不似李白的“举杯邀明月,对影成三人”啊,我就和一部会说话的机器唧唧歪歪。
我时常想,以后的日子里,如果我成为了一名编程师也会是这样吗?好像很无聊的样子啊。
好动的我一定坐不住吧。
可是,我也知道,为了衣食父母,为了生存,为了未来,现在我还没有任何的资格想这个问题,时间不对,而现在最最应该想的是——我要怎样成为一个顶级的编程师。
SQL语言学习工作总结范文_半年学习工作总结
SQL语言学习工作总结范文_半年学习工作总结经过半年的学习和工作,我在SQL语言方面有了一定的进步和收获。
下面我对这半年来的学习和工作进行一下总结。
一、学习情况1. 学习动机:我之所以学习SQL语言,是因为在我所在的企业中,数据库管理和数据分析是一个非常重要的职位,我希望通过学习SQL语言,提高自己的技能水平,增强自己的竞争力。
2. 学习内容:在学习期间,我主要学习了SQL语言的基础知识,如SQL的语法、数据类型、函数、操作符等等。
同时,我也学习了SQL的高级应用,如视图、存储过程、触发器、索引等等。
3. 学习方法:在学习过程中,我通过学习教材、看视频、做题等多种方式进行学习,同时也积极参加公司的培训活动,并和同事互相讨论和交流。
4. 学习成果:通过这半年的学习,我掌握了SQL语言的基本语法和常用函数、操作符等知识,并且能够熟练使用SQL查询、插入、更新和删除数据等操作。
同时,我也能够编写简单的存储过程和触发器,对于索引和视图的使用也有了一定的了解。
二、工作情况1. 工作内容:在工作中,我主要负责数据库管理和数据分析工作,包括对数据库进行备份、恢复和维护,对数据进行清洗、分析和报表生成等工作。
同时,我也积极参与公司各部门的数据调研和解决方案的制定。
2. 工作成果:在这半年的工作中,我成功完成了许多数据库备份和恢复工作,并对数据进行了多次深入的分析和挖掘,为公司的决策提供了重要的支持。
同时,我也制定了一些数据管理和分析的流程和标准,使工作更加规范化和高效化。
三、不足之处虽然我在SQL语言方面有了一定的进步和成就,但我也发现了自己的一些不足之处。
首先,我对于SQL高级应用的掌握程度还不够,需要进一步加强学习和练习。
其次,我对于一些数据库管理的细节和技巧还不够熟悉,需要再深入研究和实践。
最后,我也需要提高自己的团队协作能力和沟通能力,与同事们更好地协作和配合,提高整个团队的工作效率。
四、展望未来在未来的学习和工作中,我将继续加强对SQL语言的深入学习和实践,并积极学习其他相关技能,如大数据分析和人工智能等。
SQL语言学习的自我总结
SQL语言学习的自我总结
学习SQL语言的过程中我收获了很多知识和技能,以下是我学习SQL的自我总结:
1. 掌握了SQL语言的基本语法和常用命令,包括SELECT、INSERT、UPDATE、DELETE等,能够使用这些命令来对数据库进行操作。
2. 理解了数据库的基本概念,包括表、字段、主键、外键等,能够设计和管理简单的数据库结构。
3. 学会了使用SQL语句查询数据库中的数据,包括基本的查询、条件查询、多表联合查询等。
4. 掌握了SQL语句的高级用法,包括聚合函数、分组、排序、子查询等,能够处理复杂的数据查询需求。
5. 学会了使用SQL语句进行数据的增删改查操作,能够对数据库中的数据进行灵活的管理。
6. 熟悉了SQL语言的优化技巧,能够提高查询效率和性能。
7. 通过练习和实践,加深了对SQL语言的理解和掌握,能够灵活应用SQL解决实际的数据处理问题。
8. 意识到SQL语言在数据处理和管理中的重要性,为今后的数据工作打下了良好的基础。
SQL语言学习工作总结
SQL语言学习工作总结第一篇:SQL语言学习工作总结以下是作者在学习SQL过程中,以工作总结方式写下点滴的感悟,敬请关注!暑假过的真快总感觉昨天才刚放假,还想着这个暑假怎么过时,暑假就已经去了。
这个暑假一开始我们看了浙大的sql的视频,老师给我们的要求是只要看一遍就行。
刚开始看的时候还能听懂一些,看到后面的时候基本就听不懂了,幸好老师对我们的要求不高,于时只好硬着头皮继续。
sql的视频其实总的说来无非讲的是对数据库、表、字段等的创建、修改和删除。
我们不懂的也就是怎样使用代码来实现这些操作。
我们现在只要对这些有了解就够了,以后还会有锻炼机会的。
之后我们参照着原代码做了《学生信息管理系统》,大概用了七天的时间。
刚开始做的时候,觉得这个工程肯定会挺复杂的。
但是做着做着感觉也就是那么回事。
无非就是对几张表的操作。
做这个工程最大的收获就是对刚学的sql知识有了一次熟练的机会,巩固了刚学的知识。
也可以说是趁热打铁吧。
然后米老师给了我们更大的考验,让我们做《机房收费系统》,而且这次和上一次的《学生信息管理系统》不同的是,这次我们除了只有一个程序和数据库外,没有一个字的原码。
在得知我们可以把这次的工程做成任何样子时,我打算做一个类似于网吧那样的收费系统。
也是一个cs系统。
在网上查了一些主机如何与客户端通信的资料后,就开工了。
虽然遇到了一些困难,但是到最后都一一解决了这三次的学习困难程度可以说是一次比一次高,米老师也是用心良苦呀。
经过这个暑假,对sql已经有了深一步的了解,还有就是将米老师的学习方法又应用了一次。
可谓是受益匪浅。
现在软件工程的学习已经开始,我会继续努力的。
第二篇:sql语言学习SQL语言学习--语句功能--数据操作SELECT--从数据库表中检索数据行和列INSERT--向数据库表添加新数据行DELETE--从数据库表中删除数据行UPDATE--更新数据库表中的数据--数据定义CREATE TABLE--创建一个数据库表DROP TABLE--从数据库中删除表ALTER TABLE--修改数据库表结构CREATE VIEW--创建一个视图DROP VIEW--从数据库中删除视图CREATE INDEX--为数据库表创建一个索引DROP INDEX--从数据库中删除索引CREATE PROCEDURE--创建一个存储过程DROP PROCEDURE--从数据库中删除存储过程CREATE TRIGGER--创建一个触发器DROP TRIGGER--从数据库中删除触发器CREATE SCHEMA--向数据库添加一个新模式 DROP SCHEMA--从数据库中删除一个模式CREATE DOMAIN--创建一个数据值域ALTER DOMAIN--改变域定义DROP DOMAIN--从数据库中删除一个域--数据控制GRANT--授予用户访问权限DENY--拒绝用户访问REVOKE--解除用户访问权限--事务控制COMMIT--结束当前事务ROLLBACK--中止当前事务SET TRANSACTION--定义当前事务数据访问特征--程序化SQLDECLARE--为查询设定游标EXPLAN--为查询描述数据访问计划OPEN--检索查询结果打开一个游标FETCH--检索一行查询结果CLOSE--关闭游标PREPARE--为动态执行准备SQL 语句EXECUTE--动态地执行SQL 语句DESCRIBE--描述准备好的查询---局部变量declare @id char(10)--set @id = '10010001'select @id = '10010001'---全局变量---必须以@@开头--IF ELSEdeclare @x int @y int @z intselect @x = 1 @y = 2 @z=3if @x > @yprint 'x > y'--打印字符串'x > y'else if @y > @zprint 'y > z'else print 'z > y'--CASEuse panguupdate employeeset e_wage =casewhen job_level = ’1’ then e_wage*1.08when job_level = ’2’ then e_wage*1.07when job_level = ’3’ then e_wage*1.06else e_wage*1.05end--WHILE CONTINUE BREAKdeclare @x int @y int @c intselect @x = 1 @y=1while @x < 3beginprint @x--打印变量x 的值while @y < 3beginselect @c = 100*@x + @yprint @c--打印变量c 的值select @y = @y + 1endselect @x = @x + 1select @y = 1end--WAITFOR--例等待1 小时2 分零3 秒后才执行SELECT 语句waitfor delay ’01:02:03’select * from employee--例等到晚上11 点零8 分后才执行SELECT 语句waitfor time ’23:08:00’select * from employee***SELECT***select *(列名)from table_name(表名)where column_name operator valueex:(宿主)select * from stock_information where stockid= str(nid)stockname = 'str_name'stockname like '% find this %'stockname like '[a-zA-Z]%'---------([]指定值的范围)stockname like '[^F-M]%'---------(^排除指定范围)---------只能在使用like关键字的where子句中使用通配符)or stockpath = 'stock_path'or stocknumber < 1000and stockindex = 24not stocksex = 'man'stocknumber between 20 and 100stocknumber in(10,20,30)order by stockid desc(asc)---------排序,desc-降序,asc-升序order by 1,2---------by列号stockname =(select stockname from stock_informationwhere stockid= 4)---------子查询---------除非能确保内层select只返回一个行的值,---------否则应在外层where子句中用一个in限定符select distinct column_name form table_name---------distinct指定检索独有的列值,不重复select stocknumber ,“stocknumber + 10” = stocknumber + 10 from table_nameselect stockname , “stocknumber” = count(*)from table_name group by stockname---------group by 将表按行分组,指定列中有相同的值having count(*)= 2---------having选定指定的组select *from table1, table2where table1.id *= table2.id--------左外部连接,table1中有的而table2中没有得以null表示table1.id =* table2.id--------右外部连接select stockname from table1union [all]-----union合并查询结果集,all-保留重复行select stockname from table2***insert***insert into table_name(Stock_name,Stock_number)value(“xxx”,“xxxx”) value(select Stockname , Stocknumber from Stock_table2)---value为select语句***update***update table_name set Stockname = “xxx” [where Stockid = 3]Stockname = defaultStockname = nullStocknumber = Stockname + 4***delete***delete from table_name where Stockid = 3truncate table_name-----------删除表中所有行,仍保持表的完整性drop table table_name---------------完全删除表***alter table***---修改数据库表结构alter table database.owner.table_name add column_name char(2)null.....sp_help table_name----显示表已有特征create table table_name(name char(20), age smallint, lname varchar(30))insert into table_name select.........-----实现删除列的方法(创建新表)alter table table_name drop constraint Stockname_default----删除Stockname的default约束***function(/*常用函数*/)***----统计函数----AVG--求平均值COUNT--统计数目MAX--求最大值MIN--求最小值SUM--求和--AVGuse panguselect avg(e_wage)as dept_avgWagefrom employeegroup by dept_id--MAX--求工资最高的员工姓名use panguselect e_namefrom employeewhere e_wage =(select max(e_wage)from employee)--STDEV()--STDEV()函数返回表达式中所有数据的标准差--STDEVP()--STDEVP()函数返回总体标准差--VAR()--VAR()函数返回表达式中所有值的统计变异数--VARP()--VARP()函数返回总体变异数----算术函数----/***三角函数***/SIN(float_expression)--返回以弧度表示的角的正弦COS(float_expression)--返回以弧度表示的角的余弦TAN(float_expression)--返回以弧度表示的角的正切COT(float_expression)--返回以弧度表示的角的余切/***反三角函数***/ASIN(float_expression)--返回正弦是FLOAT 值的以弧度表示的角ACOS(float_expression)--返回余弦是FLOAT 值的以弧度表示的角ATAN(float_expression)--返回正切是FLOAT 值的以弧度表示的角ATAN2(float_expression1,float_expression2)--返回正切是float_expression1 /float_expres-sion2的以弧度表示的角DEGREES(numeric_expression)--把弧度转换为角度返回与表达式相同的数据类型可为--INTEGER/MONEY/REAL/FLOAT 类型RADIANS(numeric_expression)--把角度转换为弧度返回与表达式相同的数据类型可为--INTEGER/MONEY/REAL/FLOAT 类型EXP(float_expression)--返回表达式的指数值LOG(float_expression)--返回表达式的自然对数值LOG10(float_expression)--返回表达式的以10 为底的对数值SQRT(float_expression)--返回表达式的平方根/***取近似值函数***/CEILING(numeric_expression)--返回>=表达式的最小整数返回的数据类型与表达式相同可为--INTEGER/MONEY/REAL/FLOAT 类型FLOOR(numeric_expression)--返回<=表达式的最小整数返回的数据类型与表达式相同可为--INTEGER/MONEY/REAL/FLOAT 类型ROUND(numeric_expression)--返回以integer_expression 为精度的四舍五入值返回的数据--类型与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型ABS(numeric_expression)--返回表达式的绝对值返回的数据类型与表达式相同可为--INTEGER/MONEY/REAL/FLOAT 类型SIGN(numeric_expression)--测试参数的正负号返回0 零值1 正数或-1 负数返回的数据类型--与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型PI()--返回值为π 即3.14***936RAND([integer_expression])--用任选的[integer_expression]做种子值得出0-1 间的随机浮点数----字符串函数----ASCII()--函数返回字符表达式最左端字符的ASCII 码值CHAR()--函数用于将ASCII 码转换为字符--如果没有输入0 ~ 255 之间的ASCII 码值CHAR 函数会返回一个NULL 值LOWER()--函数把字符串全部转换为小写UPPER()--函数把字符串全部转换为大写STR()--函数把数值型数据转换为字符型数据LTRIM()--函数把字符串头部的空格去掉RTRIM()--函数把字符串尾部的空格去掉LEFT(),RIGHT(),SUBSTRING()--函数返回部分字符串CHARINDEX(),PATINDEX()--函数返回字符串中某个指定的子串出现的开始位置SOUNDEX()--函数返回一个四位字符码--SOUNDEX函数可用来查找声音相似的字符串但SOUNDEX函数对数字和汉字均只返回0 值DIFFERENCE()--函数返回由SOUNDEX 函数返回的两个字符表达式的值的差异--0 两个SOUNDEX 函数返回值的第一个字符不同--1 两个SOUNDEX 函数返回值的第一个字符相同--2 两个SOUNDEX 函数返回值的第一二个字符相同--3 两个SOUNDEX 函数返回值的第一二三个字符相同--4 两个SOUNDEX 函数返回值完全相同QUOTENAME()--函数返回被特定字符括起来的字符串/*select quotename('abc', '{')quotename('abc')运行结果如下---{{abc} [abc]*/REPLICATE()--函数返回一个重复character_expression 指定次数的字符串 /*select replicate('abc', 3)replicate('abc',-2) 运行结果如下----------------------abcabcabc NULL*/REVERSE()--函数将指定的字符串的字符排列顺序颠倒REPLACE()--函数返回被替换了指定子串的字符串/*select replace('abc123g', '123', 'def')运行结果如下----------------------abcdefg*/SPACE()--函数返回一个有指定长度的空白字符串STUFF()--函数用另一子串替换字符串指定位置长度的子串第三篇:SQL语言1.输出任意两个字符串变量的值(参考代码)declare @v1 varchar(12),@V2 varchar(12)set @v1='中国'set @v2='你好!'select @v1+@v22.为以下程序纠错declare @v1 varchar(12),@V2 varchar(10)set @v1='中国'set @v2='你好!'set @s='吗!'select @v1+@v2+@s3.运行以下代码,观察以下全局变量的功能select 34@@connections 返回当前服务器的连接数目select 1@@rowcount 返回上一条T-SQL语句影响的数据行数select @@error返回上一条T-SQL语句执行后的错误号select @@procid返回当前存储过程的ID号select @@remserver 返回登录记录中远程服务器的名字select @@spid返回当前服务器进程的ID标识select @@version 返回当前SQL Server服务器的版本和处理器类型 select @@language 返回当前SQL Server服务器的语言select @@connections4.输入以下代码并理解其含意bgginif 3>5select 'true'else print 'false'endgobeginif 'a'<'A'select 'true'else print 'false'endgobeginif '张'>'李'select 'true'else print 'false'endgobeginif getdate()>2008-10-10print'true'else print'false'end5.附加数据库student,并进行以下操作use studentselect * from xsda以XSDa表为例,如果平均成绩高于75分,则显示“不错!”,否则,显示“加油呀!”。
SQL语言学习工作总结范文_半年学习工作总结
SQL语言学习工作总结范文_半年学习工作总结在过去半年的学习和工作中,我对SQL语言有了一定的了解和掌握。
通过学习和实践,我掌握了如下几个方面的知识和技能:我对SQL语言的基本语法和常用命令有了初步了解。
我学会了如何创建数据库、数据表以及如何向表中插入、更新和删除数据。
我也学会了如何查询数据,使用SELECT语句和WHERE子句来筛选和排序数据。
我还了解了如何使用聚合函数和GROUP BY子句来进行数据的统计和分组操作。
我学会了使用JOIN操作将多个表进行连接查询。
我了解了内连接、外连接和交叉连接的不同之处,并学会了如何根据具体的业务需求来选择和使用合适的连接方式。
通过JOIN 操作,我可以方便地获取多个表中相关联的数据,从而满足复杂查询的需求。
我也学习了如何使用子查询和视图来简化复杂的查询和处理过程。
通过使用子查询,在一个查询中可以嵌套另一个查询,从而实现对多个数据源的联合查询和运算。
而视图则是基于一个或多个表创建的虚拟表,可以简化数据查询和处理过程,提高查询效率。
我还学会了数据的备份和恢复操作,以及如何对数据库进行性能优化。
数据的备份和恢复是数据库管理的基本操作,可以确保数据的安全性和可靠性。
而性能优化则是为了提高数据库的运行效率和响应速度,包括对数据库的索引、分区和优化查询语句等方面的优化工作。
在实际工作中,我运用所学的知识和技能,成功地完成了一些SQL语言相关的任务。
我通过编写SQL语句,从庞大的数据表中提取所需的数据,并按照要求进行了统计和分析。
我还通过使用JOIN操作,将多个数据表进行关联查询,提供了更为全面和准确的数据结果。
我也通过备份和恢复操作,有效地保证了数据的安全性和可靠性。
通过半年的学习和工作,我对SQL语言有了扎实的掌握和应用能力。
我可以利用SQL语言进行数据库的基本操作和查询,满足不同需求的数据分析和处理要求。
在以后的学习和工作中,我将继续深入学习和应用SQL语言,不断提升自己的技术水平和综合能力。
SQL实习总结5篇
SQL实习总结SQL实习总结5篇总结是在某一时期、某一项目或某些工作告一段落或者全部完成后进行回顾检查、分析评价,从而得出教训和一些规律性认识的一种书面材料,通过它可以正确认识以往学习和工作中的优缺点,让我们一起认真地写一份总结吧。
那么你知道总结如何写吗?下面是小编为大家整理的SQL实习总结5篇,希望能够帮助到大家。
SQL实习总结5篇1为期一周的实训已经结束,从这一周中,有了很多的感悟。
从学到和掌握到的东西来说,在书本上学到的东西非常不牢固,然而实训真的让我受益匪浅!实训第一天到教室时,看到老师给我们讲试训的内容与要求,然后告诉我们一些要完成的任务与作业,然后根据试训的内容与要求授课,让我们从实践中去体会所学的知识。
说实话,对于SQL Server数据库,我所学到的知识很不牢固,当时在课堂上听课所记住的也并不多,所以在试训开始时,真的不知道该干些什么?有一种“何去何从”的感觉!但随着老师的教课和讲解,以及和同学的讨论,再结合自己所知道的知识和老师所发放下的课程内容,根据这些实际的情况,我对自己将要做的事也有了兴趣和信心。
所以在接下来的时间中,我们在老师的帮助下开始了数据库相关的实训。
在这次的google订餐系统的设计过程中,我们根据该google订餐系统的功能,将其分解三大部分来完成,第一部分就是建立数据库和表,并给其添加约束;第二是角色的管理,分为管理员,订餐用户和餐馆;第三就是用编程语言建立管理菜单。
所以试训的内容是从数据库和数据表的创建和修改开始的,表是建立关系数据库的基本结构,用来存储数据具有已定义的属性,在表的操作过程中,有查看表属性,有查看表信息,修改表中数据,删除表中的数据以及修改表与删除表的操作。
我们以SQL Server数据库为基础,建立一个google订餐系统的数据库管理体系,并将数据库与程序连接,用编程语言建立数据库管理菜单。
老师给我们讲了库和表的创建方法,以及约束的内心及其语法结构,让我们知道了不同约束的功能和使用的环境,还给我们说了标识列的使用和作用。
sql学习心得5篇精选汇总
sql学习心得5篇精选汇总结构化查询语言(SQL)是用于关系数据库管理和数据操作的标准计算机语言。
下面给大家带来一些关于sql实验心得,希望对大家有所帮助。
sql实验心得1sQL是structured Query Language(结构化查询语言)的缩写。
sQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。
在使用它时,只需要发出做什么的命令,怎么做是不用使用者考虑的。
sQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持sQL。
它的强大功能以前就听人说过,所以就选了这门课。
经过一个学期的数据库课程的学习,我们掌握了创建数据库以及对数据库的操作的基础知识。
幸老师的教学耐心细致,课堂上我们有不理解的地方老师都反复讲解,使我们的基础知识掌握的比较牢固。
数据库这门课涉及到以前的知识不多,是一门从头学起的课程,即使基础不是很好,只要认真听讲、复习功课,还是一门比较容易掌握的课。
通过学习,我对数据库没有了神秘感,简单的说下我对数据库的理解吧。
我觉得它就是创建一些表格,然后再用一些语句根据他们之间的关系,把它们组合在一起。
最基本的就是子查询了。
我的子查询经验就是先写出select _ 我们要找什么,然后写条件,我们要找的东西有什么条件,然后在写条件,我们的条件涉及那些表,那些字段,再在这些字段中通过我们学过的简单select 语句选出来,有时候还要用到几层子查询,不过无所谓,只要思路是清晰的就没什么问题了。
接下来,关联查询之类的,学起来也是不难的,但有一点必须注意,那就是上课必须跟着老师的进度走,一定要注意听讲,勤做笔记.这样,你学起来就会得心应手,没什么困难。
总之,这是一门很值得学的课程,自己学过获益匪浅,就算自己将来不从事这个行业,但是至少对数据不再陌生,甚至还略知一二。
呵呵谢谢老师~!延伸阅读:数据库设计心得体会跟老板做了两个算是比较大的项目,数据库主体都是我设计的。
sql语句知识点总结大全
sql语句知识点总结大全一、SQL语句的基本结构1. SQL语句的基本格式SQL语句的基本格式通常包括关键字、参数和分隔符等组成部分。
其中,关键字用于表示SQL语句的操作类型,如SELECT表示查询操作,INSERT表示插入操作,DELETE表示删除操作,UPDATE表示更新操作等。
参数则用于指定需要操作的数据的条件、值和字段等信息。
分隔符则是用于分隔不同的参数以及关键字等。
2. SQL语句的执行顺序SQL语句的执行顺序通常由关键字的先后顺序以及参数的限定条件等决定。
一般来说,SQL语句的执行顺序可以分为SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY等不同的部分。
在执行时,数据库系统会按照这些部分的顺序依次进行处理。
3. SQL语句的基本分类SQL语句通常可以分为数据操作语句和数据定义语句两种。
数据操作语句用于对数据库中的数据进行操作,如SELECT用于查询数据,INSERT用于插入数据,DELETE用于删除数据,UPDATE用于更新数据等。
数据定义语句则用于对数据库中的表、索引、视图等对象进行定义和修改等操作,如CREATE TABLE用于创建表,ALTER TABLE用于修改表结构,DROP TABLE用于删除表等。
二、SQL语句的常用操作1. 数据查询操作数据查询是SQL语句中最常用的操作之一,通常通过SELECT语句来实现。
在SELECT语句中,可以使用*通配符来表示选择所有字段,也可以使用具体的字段名来选择指定的字段。
此外,还可以通过WHERE子句来指定查询的条件,通过ORDER BY子句来指定查询结果的排序方式,通过GROUP BY子句来对查询结果进行分组,通过HAVING子句来对分组后的结果进行条件筛选等。
2. 数据插入操作数据插入通常通过INSERT语句来实现。
在INSERT语句中,可以使用VALUES子句来指定需要插入的数据的具体数值,也可以使用SELECT子句来从其他表中获取需要插入的数据。
SQL语言学习总结_语言组教研工作总结
SQL语言学习总结_语言组教研工作总结一、学习目标与规划学习SQL语言的目标是为了能够熟练地操作数据库,能够使用SQL语言对数据库进行增删改查操作,能够编写高效的SQL语句来解决实际问题。
为了实现这个目标,我制定了如下的学习规划:1. 学习基本的SQL语法,掌握SQL语句的基本结构和常用的关键字。
2. 学习数据库的设计与实现,理解数据库的结构和原理。
3. 学习SQL的高级特性,如子查询、连接、索引等。
4. 实践运用SQL语言解决实际问题,提升自己的实际操作能力。
二、学习过程与方法在学习SQL语言的时候,我采用了如下的学习过程和方法:1. 阅读相关的教材和书籍,了解SQL语言的基本概念和基本语法,掌握SQL语句的基本结构和常用的关键字。
2. 制定学习计划和学习任务,每天坚持学习一定的时间,保持学习的连续性和系统性。
3. 多进行实践和练习,通过编写SQL语句解决实际问题,学习SQL语句的应用和实践技巧。
4. 多参与讨论和交流,与他人一起学习和解决问题,相互学习和帮助。
四、不足与改进在学习SQL语言的过程中,我也存在一些不足之处,需要加以改进:1. 学习时间还不够充分,有时候不能坚持每天学习,导致学习的连续性不够好。
需要更加合理地安排学习和工作的时间,提高学习的效率。
2. 缺乏实际项目的经验,只是停留在理论上的学习,需要多进行实践和练习,提高自己的实际操作能力。
3. 学习的深度还不够,对于一些高级特性的理解还比较浅显,需要继续加强学习,深入理解SQL语言的原理和应用。
五、总结与展望学习SQL语言是一项持久的学习任务,在这次的教研工作中,我取得了一些学习成果和收获,但仍然存在一些不足之处。
在今后的学习中,我将继续坚持学习和实践,进一步提高自己的实际操作能力和理论水平,不断完善自己的SQL语言技能,为以后的工作做好充分的准备。
我也希望能够将所学到的知识应用到实际的工作中,解决实际的问题,提高工作的效率和质量。
SQL语言学习总结_语言组教研工作总结
SQL语言学习总结_语言组教研工作总结SQL语言是关系型数据库管理系统(RDBMS)的标准语言之一,被广泛应用于数据操作、管理和查询。
学习SQL语言是每个数据库从业人员必备的基础技能之一。
在本次SQL语言的学习中,我们主要掌握了以下几个方面的内容。
一、SQL语言的基础知识1. SQL语言的发展历史和功能特点。
2. SQL语言的数据类型、关键字和运算符。
3. SQL语言的基本语句包括创建、选择、插入、更新和删除。
4. 数据库对象的创建和管理,包括表、索引、视图和存储过程的创建和管理。
二、表的创建和数据操作1. 表的创建方法和基本属性设置。
2. 数据的插入、修改、删除和查询方法。
3. 基于条件和聚合函数的数据筛选和统计。
三、视图和存储过程的创建和使用1. 视图的定义和使用,包括简单视图和复杂视图。
2. 存储过程的创建和使用,包括定义输入、输出参数和返回值。
3. 存储过程的调用方式和优化技巧。
四、多表查询和联合查询1. 多表查询的基础知识和基本语法。
2. 多表查询的内连接、外连接和自连接。
3. 联合查询的使用方法和实现原理。
五、SQL语言的性能优化1. 优化查询语句的索引和统计信息。
2. 优化表的设计和数据存储方式。
3. 优化SQL语句的执行计划和查询过程。
综上所述,学习SQL语言需要掌握的知识范围非常广泛,需要不断学习和实践。
在学习过程中,我们要注重实践和应用,通过自主设计和操作数据库的方式来加深理解和掌握相关技能。
同时,还要关注SQL语言的新发展,学习新的技术和方法,扩充自己的技能边界,提高自己的综合竞争力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL学习
2.1 SQL 简介
当面对一个陌生的数据库是,通常需要一种方式与它进行交换,以完成用户所需要的各种工作,这个时候,就要用到SQL语言了,由于SQL 语言的标准化,所以大多数关系型数据库系统都支持SQL语言,它已经发展成多种平台进行交互操作的底层会话语言。
2.2 SQL 使用入门
2.2.1 SQL分类
SQL 语句主要可以划分为以下3个类别
1)、DDL (Data Definition Languages)语句:数据定义语言,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象的定义。
常用的语句关键字主要包括create、drop、alter等。
2)、DML(Data Manipulation Languagr)语句:数据操作语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性。
常用的语句关键字主要包括insert、delete、update和select等。
3)、DCL(Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。
这些语句定义了数据库、表、字段、用户的访问权限和安全级别、主要的语句关键字包括grant、revoke等。
2.2.2 DDL 语句
DDL是数据定义语言的缩写,是对数据库内部的对象进行创建(create)、删除(drop)、修改(alter)的操作语言,它和DML语句的最大区别是DML只是对表内部数据的操作,而不涉及表定义,结构的修改,更不会涉及其它的对象,DDL语句更多地被数据库管理员(DBA)所使用,一般开发人员很少使用。
下面通过一些例子来介绍MySQL中常用的DDL语句的使用方法。
1、创建数据库
因为所有的数据都存储在数据库中,因此需要学习的第一个命令是创建数据库,语法如下:
可以发现,上面的列表中除了刚刚创建的test1外,另外4个数据库,他们都是安装MySQL时系统自动创建的,其各自功能如下。
1)、information_schema:主要存储了系统中的一些数据库对象信息,比如用户表信息、列信息、权限信息、字符集信息、分区信息等2)、cluster:存储了系统的集群信息。
3)、mysql:存储了系统的用户权限信息
4)、test:系统自动创建的测试数据库,任何用户都可以使用。
用以下命令来查看test1数据库中创建的所有数据表;
由于test1是刚刚创建的数据库,还没有表,所以显示为空。
命令行下面的Empty set表示操作的结果集为空。
如果查看一下mysql数据库里面的表,则可以得到以下信息;
虽然desc命令可以查看表定义,但是输出的信息还是不够全。
为了全面查看更全面的表定义信息,有时就需要通过查看创建表的SQL语句来得到,可以使用如下命令实现;
4、删除表
表的删除命令如下:
5、修改表
对于已经创建好的表,尤其是已经有大量数据的表,如果需要做一些结构上的改变,可以先将表删除(drop),然后再按照新的表定义重建表。
这样做没有问题,但是必然要做一些额外的工作,比如数据的重新加载。
而且,如果有服务在访问表,也会对服务产生影响。
因此,在大多数情况下,表结构的更改一般都使用alter table语句,以下是一些常用的命令。
例如,修改表emp的ename字段定义,经varchar(10)改为varchar(20);。