MySQL数据库——DDL(数据库定义语言)
作者:冰蓝心灵
原文:https://blog.csdn.net/qq_35537301/article/details/78568025
概念
数据库:
狭义的数据库:真实保存数据的地方;代码表示:database;
广义的数据库:(数据库服务器,服务系统),既包含保存数据的仓库(database),也包含数据库管理系统(DBMS);
数据库管理系统:管理或操作数据的一个系统;(类似于仓库管理员);
表:数据库中的数据都是以表为单位,保存数据;
表名:类似于java中的类名;
字段:设计表的时候,指定的名称和属性,类似于java中的属性;
纪录:类似于java中的对象;
常见的数据库:
MYSQL:开源免费的数据库,小型的数据库.已经被Oracle收购了.MySQL6.x版本也开始收费
Oracle:收费的大型数据库,Oracle公司的产品。Oracle收购SUN公司,收购MYSQL
DB2:IBM公司的数据库产品,收费的。常应用在银行系统中.
SQLServer:MicroSoft 公司收费的中型的数据库。C#、.net等语言常使用
SyBase:已经淡出历史舞台。提供了一个非常专业数据建模的工具PowerDesigner
SQLite : 嵌入式的小型数据库,应用在手机端
常用数据库:MYSQL,Oracle
SQL语句:
结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
注意:
标准的sql语句可以操作所有的数据库服务器系统;
方言:只针对特定的数据库有效!
种类
DDL语句;数据定义语言;专门用于数据库与表的创建于操作;
DCL语句;数据库控制语言;专门用于管理控制数据库用户,权限等;
DML语句;数据操作语言;表的纪录的添加,删除,修改操作;
DQL语句;数据操作语言;表的纪录的查询;
数据类型:
int 整型;
double 浮点型;
varchar 字符串型;
date 日期类型;
DDL语法:
创建:create
删除:drop
修改:alter
修改表名:rename table 旧表名 to 新表名
DDL操作数据库的练习:
创建一个新的数据库
格式:create database 数据名;
create database study;
指定字符集:create database 数据库名 character set utf8;
create database study character set utf8;
查看数据库结构:
show crate database 数据库名
删除数据库:
格式:drop database 数据名;
drop database study;
切换数据库:
use 数据库名
查看正在使用的数据库:
select database();
查看所有数据库:
show databases;
DDL操作表的练习:
创建表:
crate table 表名(
字段名1 字段的数据类型(字段长度) 约束,
字段名2 字段的数据类型(字段长度) 约束
)
例子:CREATE TABLE person(
pname VARCHAR(32),
age INT,
sex VARCHAR(2)
);
查看表结构:
格式:DESC person;
删除表:
DROP TABLE 表名
例子:DROP TABLE person;
修改表结构:
添加一列:
格式: ALTER TABLE 表名 ADD 列名 数据类型 [约束];
例子:ALTER TABLE person ADD abc INT;
修改列的数据类型和约束
格式: ALTER TABLE 表名 MODIFY 列名 数据类型 [约束];
例子:ALTER TABLE person MODIFY abc DOUBLE NOT NULL;
修改列名:
格式:alter table 表名 change 旧列名 新列名 类型 [约束]
例子:ALTER TABLE person CHANGE abc bbc VARCHAR(32);
删除表中一列:
格式:ALTER TABLE 表名 DROP 列名;
例子:ALTER TABLE person DROP bbc;
修改表名:
格式:rename table 旧表名 to 新表名
例子:rename table person to people
删除表:
格式:DROP TABLE 表名;
例子:DROP TABLE people;
修改表中的字符集:
格式:alter table 表名 character set 字符集
例子:alter table people character set utf8