SQL------DDL
一、SQL
定义:Structure Query Language(结构化查询语言),SQL被美国国家标准局(ANSI)确定为 关系型数据库语言 的美国标准,后来被国际化标准组织(ISO)采纳为关系数据库语言的 国际标准。
SQL 是一种标准化的语言,它允许你在数据库上执行操作,如创建项目,查询内容,更新内容, 并删除条目等操 作。
Create, Read, Update, and Delete 通常称为CRUD操作。
二、SQL语句分类
***DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列 等。
*** DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据)。
*** DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别。 ***DQL(Data Query Language):数据查询语言,用来查询记录(数据)。
着重讲解DDL
三、DDL的使用
1、数据库
1)创建:CREATE DATABASE 语句用于创建新的数据库
语法:CREATE DATABASE 数据库名
SQL>CREATE DATABASE mydb1; //创建新的数据库mydb1
SQL> CREATE DATABASE mydb2 character SET GBK; //创建新的数据库mydb2,并 设置该数据库的字符集是GBK
SQL> CREATE DATABASE mydb3 character SET GBK COLLATE gbk_chinese_ci; //创建新的数据库mydb2,并设置该数据库的字符集是GBK-gbk_chinese_ci
2)a:查看当前数据库服务器中的所有数据库
SQL> SHOW DATABASES;
b:查看前面创建mydb2数据库的定义信息
SQL> Show CREATE DATABASE mydb2;
3)修改:查看服务器中的数据库,并把mydb2的字符集修改为utf8
SQL> ALTER DATABASE mydb2 character SET utf8;
4)删除
SQL> DROP DATABASE mydb3;
5)查看当前使用的数据库
SQL> Select database();
6)切换数据库
SQL> USE mydb2;
2、表
1)创建表:CREATE TABLE
语法:CRTATE TABLE 表名(字段1 字段类型(长度) 约束,
字段2 字段类型(长度) 约束, ...字段n 字段类型(长度) 约束
);
示例:
SQL> CREATE TABLE Employees ( id INT NOT NULL, age INT NOT NULL, first VARCHAR(255), last VARCHAR(255), PRIMARY KEY ( id ) );
2)删除表:DROP TABLE
SQL> DROP TABLE table_name;
3)查看当前数据库中所有的表
SHOW TABLES;
4)查看表的字段信息
DESC Employee;
5)表名改为user
RENAME TABLE employee TO user;
6)查看表格的创建细节
SHOW CREATE TABLE user;
7)修改表的字符集为gbk
ALTER TABLE user CHARACTER SET gbk;
3、列
1)在上面员工表的基本上增加一个image列
ALTER TABLE Employee ADD image blob;
2)修改job列,使其长度为60
ALTER TABLE employee MODIFY job varchar(60);
3)删除image列,一次只能删一列
ALTER TABLE employee DROP image;
4)列名name修改为username
ALTER TABLE user CHANGE name usernamevarchar(100);
常用数据类型:
int:整型
double:浮点型,例如double(5,2)表示最多5位,其中必须有2位小数,即最大值为999.99;
char:固定长度字符串类型; char(10) 'aaa ' 占10位 varchar:可变长度字符串类型;
varchar(10) 'aaa' 占3位
text:字符串类型;
blob:字节类型;
date:日期类型,格式为:yyyy-MM-dd
time:时间类型,格式为:hh:mm:ss timestamp:
时间戳类型 yyyy-MM-dd hh:mm:ss 会自动赋值
datetime:日期时间类型 yyyy-MM-dd hh:mm:ss
常用约束:
主键约束:primary key
唯一约束:unique [key]
非空约束:not null
默认约束:default
外键约束:foreign key
自动增长:auto_increment