-- 输出重复的去重后 所有的值 两个语句后面可以跟where条件语句
SELECT Sname FROM student
UNION
SELECT Sname FROM student1
-- 输出重复的 包含的所有值
SELECT Sname FROM student
UNION ALL
SELECT Sname FROM student1
-- SQL语句 MySql不支持 SELECT INTO 从一个表中选取数据,然后把数据插入另一个表中,常用于创建表的备份副件、对记录进行存档
SELECT *
INTO school_timetable [in stu] -- 可以不跟
FROM school_timetable_copy
-- 而是用这种代替Create table Table2 (Select * from Table1);
Create table school_t
(Select * from school_timetable);
-- 定义字段属性 数据类型 DECIMAL(size,d) size为规定数组的最大位数 d为小数点右侧的位数
-- VARCHAR 容纳可变长度的字符串(可容纳 字母、数字、特殊字符)
-- DATE(yyyymmdd) 容纳日期
-- 约束
-- not NULL 约束强制列不接受空
-- UNIQUE 约束唯一标识数据库表中的每条记录 和primary KEY 均为列、列集合提供唯一性的保证 值不允许重复,唯一
-- PRIMARY key 拥有自动定义的unique
-- 列添加约束的两种方式 1->创建表时 CREATE ..... 2->表创建完之后加 ALTER TABLE 。。。
-- 添加主键 PRIMARY key 同上方式
CREATE TABLE stu(
id int not null,
UNIQUE (id) )
ALTER TABLE student
ADD UNIQUE (Sname)
-- Mysql 撤销unique 约束
ALTER TABLE student
DROP INDEX Sname
-- SQL 撤销unique 撤销PRIMARY key
ALTER TABLE student
DROP CONSTRAINT Sname
-- Mysql 撤销PRIMARY key
ALTER TABLE school_t
DROP PRIMARY KEY
-- 创建外键 两种方式 1->创建表时 Sname VARCHAR FOREIGN KEY references school_timetable(Sname) 后面是另外一张表的主键
-- 2->表已经创建好了 用alter 添加
ALTER TABLE student
add FOREIGN KEY (Sname)
REFERENCES school_timetable(Sname)
-- 撤销 外键约束
ALTER TABLE student
DROP FOREIGN key Sname
-- DEFAULT 约束用于向列中插入 默认值
-- 创建默认值 两种方式 1->创建表时 city VARCHAR(255) DEFAULT '中国'
-- 2->对于MySql表已经创建好了 ALTER TABLE stu 撤销时 ALTER TABLE stu
-- ALTER city SET DEFAULT '中国' ALTER city DROP DEFAULT
-- 对于Sql oracle ALTER TABLE stu 撤销时 ALTER TABLE stu
-- ALTER COLUMN city SET DEFAULT '中国' ALTER COLUMN city COLUMN DEFAULT '中国'
-- 创建索引 允许使用重复的值
CREATE INDEX INDEX_name
ON student (Sname)
-- 创建索引 唯一的索引
CREATE UNIQUE INDEX INDEX_name
ON student (Sname)
-- 撤销 索引 MySsql : ALTER TABLE TABLE_name DROP INDEX INDEX_name
-- IBM,Orcale: DROP INDEX_name
-- 删除或添加 表中的列
ALTER TABLE student
add ss varchar(255)
ALTER TABLE student
DROP COLUMN ss
-- SQL改变表中的列的数据类型
ALTER TABLE student
ALTER COLUMN Grade VARCHAR(255)
-- mysql改变表中的列的数据类型
alter table student modify column Grade varchar(20);
-- 改变列名以及列名类型
alter table student change column sname stuname varchar(20);