MySQL学习------表定义,表修改,增删改查

1.基本表的定义

#创建学生表
create table student(  
stu_id char(11) PRIMARY KEY,     #主键
stu_name VARCHAR(10) NOT NULL,   #不为空
stu_gender TINYINT(1) DEFAULT 1,  #设置默认值
stu_birth VARCHAR(10)
);
#创建课程表
create table course(
c_id char(11) PRIMARY KEY,
c_name varchar(20)
);
#创建分数表
create table sorce(
c_id CHAR(11),
stu_id CHAR(11),
sorce FLOAT,
PRIMARY KEY(c_id,stu_id),             #主键为两个属性
FOREIGN KEY (c_id) references course(c_id),       #外键依赖
FOREIGN KEY (stu_id) REFERENCES student(stu_id)   
);

 2.表修改

#student表添加一列班级信息
ALTER TABLE student ADD stu_class VARCHAR(10);

#给student表的stu_class列添加约束
ALTER TABLE student ADD UNIQUE(stu_class);

#修改列名
ALTER TABLE student ALTER COLUMN stu_class CHAR(10);

#删除列约束
ALTER TABLE student DROP CONSTRAINT UNIQUE;

#删除列
ALTER TABLE student DROP stu_class;

#清空表 没有
TRUNCATE TABLE  course;

#• Truncate table语句用来删除/截断表里的所有数据
#• 和delete删除所有表数据在逻辑上含义相同,但性能更快
#• 类似执行了drop table和create table两个语句

3.数据查询

 

SELECT [ALL|DISTINCT] <目标列表达式> [,<目标列表达式>]...
FROM <表名或视图名> [,<表名或视图名>...] |(<SELECT 语句>)[AS]<别名>
[WHERE<条件表达式>]
[GROUP BY <列名1> [HAVING <条件表达式>]]
[ORDER BY <列名2>[ASC|DESC]]

where

WHERE 常用查询条件
比较           =,>,<,>=,<=,!=,<>,!>,!<
确定范围	      BETWEEN AND ,NOT BETWEEN AND
确定集合       IN ,NOT IN
字符匹配	      LIKE ,NOT LIKE
空值	      NULL, NOT NULL
多重条件	      AND,OR ,NOT

like 'a_b'  和like'a%b'

'_'代表任意单个字符

‘%’代表任意个字符(长度可以为0)

where作用域基本表和视图,从中选择满足条件的元组,group by中的HAVING,为了选择满足条件的组。

order by

默认为升序排序,desc为降序。

如果按升序排序,则空值元组最后显示

如果按降序排序,则空值元组最先显示

子查询中不能使用order by ,order by只作用于最终结果排序。

聚集函数

COUNT(*)             
COUNT([ALL|DISTINCT]<列名>)
MIN([ALL|DISTINCT]<列名>)
MAX([ALL|DISTINCT]<列名>)
AVG([ALL|DISTINCT]<列名>)
SUM([ALL|DISTINCT]<列名>)

  注意:

1.聚集函数遇到空值时,除了count(*)之外,都跳过空值处理非空值。

2.where子句中不能使用聚集函数,聚集函数只能用在select子句和group by中的HAVING子句中。

3.如果查询没有分组,则聚集函数就作用在整个查询结果,有分组,聚集函数就作用在每一个分组中

4.插入数据

 

INSERT INTO student VALUES('20001','张三',0,'1999-02-12');

insert into student set id='20001',name='张三',.......;

insert into student select查询;

5.修改数据

 

UPDATE student SET stu_gender=1 WHERE stu_id = '20001';

6.删除数据

DELETE FROM student where stu_id = '20001';

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值