MySql 基本操作(二)

-- 输出重复的去重后 所有的值 两个语句后面可以跟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);

发布了15 篇原创文章 · 获赞 7 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_40938267/article/details/90080641