赞
踩
- 是所有关系型数据库的统一操作规范,不同关系型数据库都支持SQL
- 所有的关系型数据库都可以使用SQL
- 不同数据库之间的SQL有一些区别(方言)
注释语法 | 说明 |
---|---|
– 空格 | 单行注释 |
/**/ | 多行注释 |
# | MySQL特有的单行注释 |
数据查询语言(Data Query Language,DQL):
DQL主要用于数据的查询,其基本结构是使用SELECT子句,FROM子句和WHERE子句的组合来查询一条或多条数据。
数据操作语言(Data Manipulation Language,DML):
DML主要用于对数据 增加、修改和删除的操作。
主要包括: INSERT-增加数据;UPDATE-修改数据;DELETE-删除数据。
数据定义语言(Data Definition Language,DDL):
DDL主要用针对是数据库对象(数据库、表、索引、视图)进行创建, 修改和删除操作。
主要包括: CREATE-创建;ALTER-修改;DROP-删除。
数据控制语言(Data Control Language,DCL):
DCL用来授予或回收访问数据库的权限。
主要包括: GRANT-授予用户某种权限;REVOKE-回收授予的某种权限 。
事务控制语言(Transaction Control Language,TCL):
TCL用于数据库的事务管理。
主要包括: START TRANSACTION-开启事务;SET TRANSACTION-设置事务的属性
COMMIT-提交事务;ROLLBACK-回滚事务
-- 查看所有的数据库
show databases;
-- 创建数据库
create database bjsxt01;
-- 删除数据库
drop database bjsxt01;
类型 | 描述 |
---|---|
int | 整型 |
double | 浮点型 |
varchar | 字符串型 |
char(M) | 0~255字符 允许长度0~M个字符的定长字符串 |
date | 日期类型,格式为:yyyy-MM-dd |
datetlme | ‘YYYY-MM-DD HH:MM:SS’ (‘1000-01-01 00:00:00’, ‘9999-12-31 23:59:59’) |
整数类型 | 大小 | 表数范围(有符号) | 表数范围(无符号) | 作用 |
---|---|---|---|---|
TINYINT | 1字节 | (-128,127) | (0,255) | 小整数值 |
SMALLINT | 2字节 | (-32768,32767) | (0,65535) | 大整数值 |
MEDIUMINT | 3字节 | (-8388608,8388607) | (0,16777215) | 大整数值 |
INT/INTEGER | 4字节 | (-214748364,2147483647) | (0,4294967295) | 大整数值 |
BIGINT | 8字节 | (-9233372036854775808,9223372036854775807) | (0,18446744073709551615) | 极大整数值 |
MySQL支持选择在该类型关键字后面的括号内指定整数值的显示宽度(例如,INT(4))。显示宽度并不限制可以在列内保存的值的范围.
浮点数类型 | 大小 | 作用 |
---|---|---|
FLOAT | 4字节 | 单精度浮点数值 |
DOUBLE | 8字节 | 双精度浮点数值 |
注意事项:
浮点数类型的宽度不会自动扩充,使用时需要指定长度。
如:score double(4,1) 总体长度是4 精度为1位。 decimal (16个字节)
字符串类型 | 大小 | 描述 |
---|---|---|
CHAR(M) | 0~255字符 | 允许长度0~M个字符的定长字符串 |
VARCHAR(M) | 0~65535字符 | 允许长度0~M个字符的变长字符串 |
BINARY(M) | 0~255字节 | 允许长度0~M个字节的定长二进制字符串 |
VARBINARY(M) | 0~65535字节 | 允许长度0~M个字节的变长二进制字符串 |
TINYBLOB | 0~255字节 | 二进制形式的短文本数据(长度为不超过255个字符) |
TINYTEXT | 0~255字节 | 短文本数据 |
BLOB | binary large object | 二进制形式的长文本数据 |
TEXT | 长文本数据 | |
MEDIUMBLOB | 0~16777215字节 | 二进制形式的中等长度文本数据 |
MEDIUMTEXT | 0~16777215字节 | 中等长度文本数据 |
LOGNGBLOB | 0~4294967295字节 | 二进制形式的极大文本数据 |
LONGTEXT | 0~4294967295字节 | 极大文本数据 |
CHAR和VARCHAR类型相似,均用于存于较短的字符串,主要的不同之处在于存储方式。CHAR类型长度固定,VARCHAR类型的长度可变。因为VARCHAR类型能够根据字符串的实际长度来动态改变所占字节的大小,所以在不能明确该字段具体需要多少字符时推荐使用VARCHAR类型,这样可以大大地节约磁盘空间、提高存储效率。
注意事项:
CHAR和VARCHAR表示的是字符的个数,而不是字节的个数。
类型 | 格式 | 取值范围 |
---|---|---|
TIME | ‘HH:MM:SS’ | (‘-838:59:59’, ‘838:59:59’) |
DATE | ‘YYYY-MM-DD’ | (‘1000-01-01’, ‘9999-12-31’) |
YEAR | YYYY | (1901, 2155), 0000 |
DATETIME | ‘YYYY-MM-DD HH:MM:SS’ | (‘1000-01-01 00:00:00’, ‘9999-12-31 23:59:59’) |
TIMESTAMP时间戳 | ‘YYYY-MM-DD HH:MM:SS’ | (‘1970-01-01 00:00:01’ UTC, ‘2038-01-19 03:14:07’ UTC) |
TIMESTEMP类型的数据指定方式与DATETIME基本相同,两者不同之处在于以下几点:
语法:
create table 表名(
字段1 数据类型,
字段2 数据类型(长度)
);
-- 注意:最后一个字段不要加逗号,可以给字段的数据类型指定长度
练习1:创建商品分类表
表名:category
表中的字段:
分类编号:cid,整型
分类名称:cname,字符串类型,长度为20
SQL实现:
-- 切换到bjsxt01数据库
use bjsxt01;
-- 创建表
create table category(
cid int,
cname varchar(20)
);
练习2:创建学生表
表名:student
表中的字段:
学号:sid,整型
姓名:sname,字符串类型,长度为10
性别:sex,字符串类型,长度为1
年龄:age,整型
入学日期:createdate,日期类型
班级:clazz,字符串类型,长度为15
邮箱:email,字符串类型,长度为25
SQL实现:
create table student(
sid int,
sname varchar(10),
sex char(1),
age int,
createdate date,
clazz varchar(15),
email varchar(25)
);
-- 显示当前数据库的所有的表
show tables;
-- 显示某个表的结构 desc 表名
desc student;
-- 查看某个表完整的建表语句 show create table 表名
show create table student;
-- 删除当前数据库中的某个表 drop table 表名
drop table student;
-- 语法格式:rename table 旧表名 to 新表名;
-- 修改student表名为stu
rename table student
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。