数据库MySql的复习(一)
数据库由一批数据构成的有序集合,这些数据被分门别类地存放在一些结构化的数据表(table)里,而数据表之间又往往存在交叉引用的关系,这种关系使数据库又被称为关系型数据库
档案柜=数据库,抽屉=表,文件=记录。
SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的
SQL的语法组成
DML( Data Manipulation Language数据操作语言)查询、插入、删除和修改数据库中的数据;SELECT、INSERT、 UPDATE 、DELETE等;
DCL( Data Control Language数据控制语言用来控制存取许可、存取权限等;GRANT、REVOKE 等;
DDL( Data Definition Language数据定义语言)
用来建立数据库、数据库对象和定义其列
CREATE TABLE 、DROP TABLE、ALTER TABLE 等
功能函数
日期函数、数学函数、字符函数、系统函数等
创建数据库
语法:create database 数据库名
叙述:创建一个具有指定名称的数据库。如果要创建的数据库已经存在,或者没有创建它的适当权限,则此语句失败。
例:建立一个student库。
mysql> create database student;
创建表
语法:create table 表名(
列名1 列类型 [<列的完整性约束>],
列名2 列类型 [<列的完整性约束>],
... ... );
叙 述:在当前数据库下新创建一个数据表。
列类型:表示该列的数据类型。
例:
建立一个表school,其由两列组成,第一列属性为非空,并做为主键,并自增
create table school(
school_id int(10) not null auto_increment primary key,
school_name varchar(20)
);
CHAR和VARCHAR类型
CHAR类型和VARCHAR类型长度范围都是0~255之间的大小。他们之间的差别在于MySQL处理存储的方式:
CHAR把这个大小视为值的准确大小(用空格填补比较短的值)。
VARCHAR类型把它视为最大值并且只使用了存储字符串实际上需要的字节数(增加了一个额外的字节记录长度)。因而,较短的值当被插入一个语句为VARCHAR类型的字段时,将不会用空格填补(然而,较长的值仍然被截短 )。
BLOB和TEXT类型
BLOB是二进制大对象,如果想存储二进制数BLOB将是最佳选择,而TEXT与之相同,只是BOLB按照二进制编码排序(区分大小写),TEXT按照字符文本模式排序(不区分大小写)。
ENUM 和SET类型
是特殊的串类型,其列值必须从固定的串集中选择,二者差别为前者必须是只能选择其中的一个值,而后者可以多选。(不推荐使用)