数据库-SQL基础

关系型数据库的基础是SQL,地基很重要,打好基础!
一、思维导图
数据库-SQL基础_第1张图片
二、简介
结构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ “S-Q-L”),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。《百度百科》
SQL语言结构简洁,功能强大,简单易学,自从IBM公司1981年推出以来,得到了广泛的应用。
Oracle,Sybase,Informix,SQL Server,Mysql等中大型数据库管理系统,Visual Foxpro,Access等单机数据库都支持SQL语言作为查询语言;
SQL语言基本上独立于数据库本身、使用的机器、网络、操作系统,基于SQL的DBMS产品可以运行在从个人机、工作站到基于局域网、小型机和大型机的各种计算机系统上,具有良好的可移植性。
三、SQL语言分类

1.数据定义语言DDL(Data Definition Language) :CREATE、ALTER、DROP;
其语句包括动词CREATE和DROP。在数据库中创建新表或删除表(CREAT
TABLE 或 DROP TABLE);为表加入索引等。DDL包括许多与人数据库目
录中获得数据有关的保留字。它也是动作查询的一部分。

2.数据操作语言DML(Data Manipulation Language) :INSERT、UPDATE、DELETE;
其语句包括动词INSERT,UPDATE和DELETE。它们分别用于添加,修改和删除表中的行。也称为动作查询语言。

3.数据控制语言DCL(Data Control Language) :GRANT、REVOKE;
它的语句通过GRANT或REVOKE获得许可,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。

4.数据查询语言DQL(Data Query Language) :SELECT;
其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其他类型的SQL语句一起使用。
注:(SQL语句不区分大小写)
四、SQL数据类型
1.整数
数据库-SQL基础_第2张图片
2. 精确位数(numeric(5,2)) 总位数是5,小数点后面2位,即整数位是3位
数据库-SQL基础_第3张图片
3.近似浮点数
数据库-SQL基础_第4张图片
4.日期时间
数据库-SQL基础_第5张图片
5. 字符串
数据库-SQL基础_第6张图片
6. Unicode字符串
数据库-SQL基础_第7张图片
7.二进制字符串
数据库-SQL基础_第8张图片
8.货币
数据库-SQL基础_第9张图片
五、表示符
标识符必须是统一码(Unicode)2.0标准中规定的字符,以及其他语言字符,如汉字;
数据库-SQL基础_第10张图片
注:1)标识符不能有空格符,或者特殊字符_、#、@、$以外的字符;
2)标识符不允许是Transact-SQL的保留字;
3)标识符长度不能超过128个字符;
六、使用SQL管理数据库
1.创建用户数据库的最简形式
语法: CREATE DATABASE database_name
示例:创建数据库(StudScore_DB)
CREATE DATABASE StudScore_DB
2.删除数据库
删除数据库语法:DROP DATABASE database_name
示例:删除数据库 StudScore_DB2
DROP DATABASE StudScore_DB2
七、使用SQL 管理表
1.创建表(CREATE)
语法: Create table tablename(
column1 datatype [constraint],
column2 datatype [constraint],

columnN datatype [constraint]
);
示例:创建学生信息表
Create Table StudInfo(
StudNo VARCHAR(15) PRIMARY KEY,
StudName VARCHAR(20) not null,
StudSex Char(2) not null,
StudBirthDay datetime null,
)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
字段的NULL值与DEFAULT值
NULL:表示字段的数据值未知或不可用。并不表示零(数字值或二进制值)、零长度的字符串或空白(字符值)。
Default:当数据表设计时某个字段设有默认值,在数据录入时,该字段若不输入,则以默认值来填充该字段。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2.创建带约束的表
Create Table StudInfo(
StudNo VARCHAR(15) PRIMARY KEY,
StudName VARCHAR(20) not null,
StudSex Char(2)
Check(StudSex IN(‘男’, ‘女’)),
StudBirthDay datetime null
)
PRIMARY KEY: 主键(必须), Check(StudSex IN(‘男’, ‘女’)):check约束
3.修改数据表(ALTER)
语法:ALTER TABLE table_name ADD column_name datatype
示例:Alter Table StudScoreInfo Add UniqueCol varchar(20) null
4.修改数据表删除列(DELETE)
语法:ALTER TABLE table_name DROP COLUMN column_name
示例:Alter Table StudScoreInfo Drop Column UniqueCol
5.删除表(最好不要乱删表和数据库)
语法:DROP TABLE table_name
示例:Drop Table StudScoreInfo
6.添加记录(INSERT)
INSERT语句用于向数据表中添加记录。
语法:INSERT [INTO] tablename[(column { ,column})] VALUES
(columnvalue [{,columnvalue}]);
示例:向学生成绩表添加记录
Insert Into StudScoreInfo
(StudNo,CourseID,StudScore)
Values
(‘s003’,‘course03’,80)
7.更新、修改数据(UPDATE)
update语句更新或修改满足给定条件的记录
格式:update tablename
set column1 = value1 [,column2 = value2…]
[WHERE {search_condition}]
示例:更新学号为s003的姓名为李丽,性别为女
Update StudInfo
Set StudName= ‘李丽’,StudSex= ‘女’
Where StudNo= ‘s003’
注:使用UPDATE语句时,关键是要设定好where子句,不然符合条件的记录(值)都会被更改。这可能与你预期的受影响的行数不一样;
8.删除记录
DELETE删除数据库表格中的行或记录。
格式:DELETE FROM tablename
[WHERE {search_condition}]
示例:删除学号为s004学生信息
DELETE FROM StudInfo WHERE StudNo=‘s004’
注:不加where(或者其他条件语句)从句,删除表格中的所有记录,很危险;

你可能感兴趣的:(数据库及中间件,数据库,sql-database)