MySQL 学习总结-基本语句

1. 建表语句

①直接指定约束

//主键 方式1
CREATE TABLE class (
    cid CHAR(10) PRIMARY KEY NOT NULL,
    cname VARCHAR(40) NOT NULL,
)

CREATE TABLE student(
    sid CHAR(10) NOT NULL ,
    cid CHAR(10) NOT NULL ,
    sname VARCHAR(20) NOT NULL,

    --主键 方式2
    PRIMARY KEY(sid),
    -- 外键
    CONSTRAINT `FK_ID` FOREIGN KEY (`cid`) REFERENCES `class` (`cid`)
)

②建表之后用alert命令添加(在alert用法时写)

2. 表结构修改语句

(1)alert用法

-- 改表语句,添加字段
ALTER TABLE student
ADD status char(3) 

-- 改表语句,删除字段
ALTER TABLE student
drop COLUMN status 

-- 修改列(字段)--change
-- 语法:ALTER TABLE 表名 change 原字段名 新字段名 新类型(长度) 
ALTER TABLE student change hehe status int
ps:当只修改类型时,原字段名和新字段名相同即可

-- 指定条件和默认值
ALTER TABLE student CHANGE status  status varchar(22) NOT NULL DEFAULT "默认值"

-- 修改列(字段)--modify
-- 语法:ALTER TABLE 表名 modify COLUMN  字段名 新类型(长度)
ALTER TABLE student MODIFY COLUMN status varchar(22)

-- 添加外键
ALTER TABLE sc 
ADD CONSTRAINT `FK1` FOREIGN KEY (S) REFERENCES student(S)
-- 删除外键键
ALTER TABLE `sc` DROP FOREIGN KEY `FK1`;

(2)change vs modify
change:可以改字段名称字段定义(如:字段类型、长度、是否为空、默认值、主键、自增)
ALTER TABLE test change id id int NOT NULL PRIMARY KEY auto_increment
modify:修改字段定义(如:字段类型、长度、是否为空、默认值、主键、自增)
ALTER TABLE test MODIFY COLUMN id int PRIMARY KEY auto_increment
比较:modify改字段定义简单点,因为change的格式必须写成老字段新字段;change能改字段名称

3.数据插入(insert )
-- 默认插入字段,即插入所有字段
INSERT INTO student VALUES('s01','张三','女');
-- 指明插入字段,没指明的字段为默认值或为空
INSERT INTO student(id,name) VALUES('s01','张三');
4.数据删除(delete)
-- 根据条件删除某条/某些数据,不指明条件为全部删除
DELETE FROM student WHERE 条件
5.数据更新(update)
-- 根据条件修改某条/些数据的字段,没条件为修改全部
 UPDATE test SET `name` = '李四' WHERE id= 7
6.数据查询

①单表查询

    select * from student where 条件

②多表查询

不限于2张表,同一张表可以跟自己联,别名区分

--  select *from1 as 别名1,表2 as 别名2 where 联表条件
    select *from student as s,sc where s.sid=sc.sid

③留意:
-结果筛选:having
having 命令是在查询语句的结果上进行进一步的筛选,这与where语句有所不同;
-select 语句的结果可以别名成为一张临时表,和数据库中实际的表的用途相同,这种方式可以用来绕过mysql中一些操作不能放在子查询中的尴尬场面;

-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值