一、SQL语言简介
1、编程语言分为以下两种:
- 过程化语言:完成一个任务需要变成人员指明如何去做才行,比如java 、C,在使用这些语言编程的时候要明确的指明如何获取这些数据,是从本地获取还是从网络获取
- 非过程化语言:只需要指明去做什么,不需要指明如何去做,系统会自动的完成你的任务,比如SQL语言
2、SQL功能
- DDL(data definition language)是数据定义语言:主要的命令有CREATE(创建)、ALTER(修改)、DROP(删除)等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用。
- DML(data manipulation language)是数据操纵语言:它们是SELECT(查找)、UPDATE(更新)、INSERT(插入)、DELETE(删除),就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言。
DCL(DataControlLanguage)是数据库控制语言:是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。
3、SQL语言的执行方式
交互式SQL:直接执行SQL语句,有数据库管理系统提供联机交互工具,比如MySql的bin目录下提供的终端命令,SQL Server提供的查询分析器
- 嵌入式SQL:SQL语句被嵌入到高级语言中,这样既可以利用SQL访问数据库的能力,又可以利用高级语言的过程处理能力
4、SQL语句的基本结构
- 数据定义
- CREATE TABLE:创建数据库表
- DROP TABLE:从数据库中删除指定的表
- ALTER TABLE:修改指定表的表结构
- CREATE INDEX:创建一个索引
- DROP INDEX:删除一个索引
- CTEATE PROCEDURE:创建一个存储过程
- DROP PROCEDURE:删除一个存储过程
- 数据操作
- SELECT:从数据库表中检索数据行
- INSERT:向数据库表中添加新的数据行
- UPDATE:更新指定的数据
- DELETE :删除指定的数据行
- 权限控制
- GRANT:授于用户访问权限
- REVOKE:解除用户访问权限
- 事物控制
- COMMIT:用于提交事物
- ROLLBACK:用于回滚事物
5、MySQL数据类型简介
(1)整数
- TINYINT:1个字节,即8位来进行存储
- SMAILLINT:2个字节,16位
- MEDIUMINT:3个字节,24位
- INT:4个字节,32位
- BIGINT:8个字节,64位
(2)实数
- FLOAT:4个字节,32位来存储数据
- DOUBLE:8个字节,64位
- DECIMAL:存储精确的小数,可以指定小数点前后的最大位数
(3)字符串
- VARCHAR:固定了一个最大长度值,系统根据实际存储的数据分配适当的存储空间,能够节约磁盘空间
- CHAR:长度为创建表时声明的长度,长度范围是0~255的任意值,当char值比较短时系统会在右侧填充空格来达到声明时的长度;当检索char值时
- TEXT:非二进制字符串,即字符、字符串,有一个字符集,可以根据字符集的校对规则来排序
- TINYTEXT
- TEXT
- MEDIUMTEXT
- LONGTEXT
- BLOB :二进制字符串,字节、字符串,没有字符集,排序和比较都是基于字节的
- TINYBLOB
- BLOB
- MEDIUMBLOB
- LONGBLOB
(4)日期
- DATETIME:能保存大范围的值,从1001年到9999年,精度为秒,使用8个字节来存储
- TIMESTAMP:时间错类型,保存了1970年1月1日0时0分0秒到现在经历的秒数,使用4个字节来存储,表示范围1970年~2038年
数据类型选择准则
最小原则
简单原则
避免索引列上的NULL
6、MySQL基本操作
使用MySQLWrokbench这款图形化操作软件来操组数据库,它具有数据建模功能、SQL开发功能、MySQL的管理功能。该软件是免费的,并可以在多个平台上使用。输入"wb.mysql.com"便可以到官网主页
MySQLWrokbench的官网:http://www.mysql.com/products/workbench/