mysql语法

这篇博客介绍了数据库中关于表的修改操作,包括添加和删除非空约束、唯一约束、主键和外键约束,以及修改默认值和删除默认值。还涉及到索引的创建和删除,以及数据的删除和清空。此外,提到了日期格式化和分组查询的使用,以及数据库的创建、选择和删除。内容涵盖了数据库管理和维护的基础知识。
摘要由CSDN通过智能技术生成

#alter table Persons MODIFY LastName varchar(255) not null #LastName追加not null非空约束
#alter table Persons MODIFY LastName varchar(255) NULL #LastName撤销not null非空约束

#alter table Persons add unique(personID)#personID追加unique唯一约束
#alter table Persons drop index personID #personID撤销unique唯一约束

#alter table score drop primary key#删除主键约束
#alter table score add primary key(id)#id追加主键约束

#Persons的P_ID是主键,City默认值是’changsha’
/create table Persons(
P_id int ,
LastName varchar(255) not null,
FirstName varchar(255) not null,
Address varchar(255),
City varchar(255) default ‘changsha’,
primary key(P_id))
/

#Orders表中的P_Id是外键,指向Persons表中的P_ID主键,所以当在Orders表中新增数据时,如果新增的P_Id在Persons表中没有,就会报错
/create table Orders(
O_id int not null,
OrderNo int not null,
P_Id int,
primary key (O_id),
foreign key (P_Id) references Persons (P_id)
)
/
#删除Orders表中P_ID的外键约束
#ALTER TABLE Orders DROP FOREIGN KEY P_Id;

#追加Orders表中P_ID为外键,并指向Persons表中的P_id主键
#alter table orders add foreign key (P_ID) REFERENCES Persons (P_id)

#alter table persons alter City set DEFAULT ‘chongqing’;修改City的默认值为’chongqing’
#alter table persons alter City drop default;删除City的默认值

#create index wtevr on persons(firstname,lastname)#在firstname,lastname上都添加索引wtevr
#alter table persons drop index wtevr#删除索引wtevr
索引可以加快查询的速度,但是修改数据库的操作会变慢

#drop table persons;#删除表
#truncate table persons #s删除表的所有数据,不可以接where,delete from可以接where

#create database lw_db;#创建数据库
#drop database lw_db;#删除数据库

#use lw_db;#选择数据库

#alter table persons add column DateOfBirth date;#在表中增加一列DateOfBirth,数据类型是date
#alter table persons modify column DateOfBirth year; #修改DateOfBirth字段的数据类型为year,可保存2位或者4位数字
#alter table persons drop column DateOfBirth;#删除DateOfBirth字段

#group by 分组,having可以在分组之后进行筛选,而且having筛选的字段必须是已经查询出来的,但是where则没有这个要求(如此处的snum,在用having筛选之前已经查出来了,而 w.alexa在之前并未查出来),其次having可以和聚合函数一起使用,而where不行
#select w.name,sum(a.count) as snum from access_log a left join websites w on w.id =a.site_id where w.alexa<200 group by a.site_id having snum>200

#日期格式化
SELECT name, url, date_FORMAT(Now(),’%Y-%m-%d’) AS date FROM Websites;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值