MySql数据库入门到精通——关系数据库标准语言SQL
数据库的定义和删除:
1、创建数据库
CREATE DATABASE 数据库名;
2、选择数据库
USE 数据名;
3、删除数据库
DROP DATABASE 数据库名;
基本表的定义、删除和修改:
1、创建表
CREATE TABLE 表名
(<列名><数据类型>[DEFAULT<默认值>]
[,...]
);
示例:
CREATE TABLE product
(p_code DECIMAL(6),
p_name VARCHAR(30),
p_price DECIMAL(5,2)
);
创建表并为列设置约束和默认值
CREATE TABLE ord
(id INT AUTO_INCREMENT PRIMARY KEY,(单类主键)
ordno DECIMAL(8), 注:PRIMARY KEY(A,B) (复合主键)
p_code DECIMAL(6),
s_code DECIMAL(6),
ordate DATETIME DEFAULT CURRENT_TIMESTAMP,
price DECIMAL(8,2)
);
2、利用子查询来创建表
从已建立的表中提取部分记录组成新表,可利用子查询来创建新表。
CREATE TABLE <表名>
SELECT 语句;
示例:(根据ord表生成新表dept_c)
CREATE TABLE dept_c
SELECT * FROM ord;
3、修改表的结构
(在基本表建立并使用一段时间后,可以根据实际需要对基本表的结构进行修改,即增加新的列、删除原有的列或修改列的数据类型、宽度等。)
1)在一个表中增加一个新列
ALTER TABLE<表名>
ADD [COLUMN]<列名><数据类型>[DEFAULT<默认值>]
注意:一个ALTER TABLE...ADD语句只能为表增加一个新列,如果要增加多个新列,则需要使用多个ALTER TABLE ...ADD语句。
为dept_c表增加一个新列telephone
ALTER TABLE dept_c
ADD telephone VARCHAR(11);
2)修改一个表中已有的列
(1)修改一个表中已有列的数据类型的语法格式如下:
ALTER TABLE<表名>
MODIFY [COLUMN] <列名><数据类型>[DEFAULT<默认值>];
注:一个ALTER TABLE...MODIFY语句只能为表修改一列,如果要修改多列,则需要使用多个ALTER TABLE...MODIFY语句。
对dept_c表中的telephone列进行修改,数据类型不变,将长度改为13,默认值为0431-86571302
ALTER TABLE dept_c
MODIEY telephone VARCHAR(13) DEFAULT '0431-86571302';
DESC dept_c;
(2)修改一个表中已有列的列名的语句格式如下:
ALTER TABLE 表名
CHANGE [COLUMN]<旧列名><新列名><新数据类型>;
注:如果不需要修改列的数据类型,那么将新数据类型设置成与原来一样即可,但数据类型不能为空。
例如,将dept_c表中的telephone字段名称改为deptname,数据类型保持不变。
ALTER TABLE dept_c
CHANGN telephoone deptname varchar(14);
DESC dept_c;
3)从一个表中删除一列
从一个表中删除一列的语句格式如下:
ALTER TABLE<表名>
DROP [COLUMN]<列名>;
删除dept_c表中的p_code列
ALTER TABLE dept_c
DROP p_code;
DESC dept_c;