操作数据库

一、使用SQL语句操作数据库
1.创建表
接下来介绍如何使用DDL创建数据库表。
(1)语法
创建数据库表的语法格式如下。
CREATE TABLE [IF NOT EXISTS] 表名(
字段1 数据类型 [字段属性|约束][索引][注释],
字段2 数据类型 [字段属性|约束][索引][注释],

)[表类型][表字符集][注释];
(2)字段的约束及属性
非空约束 NOT NULL 如某字段不允许为空,则需要设置NOT NULL约束,如学生姓名字段不允许为空
默认约束 DEFAULT 赋予某字段默认值,如果该字段没有赋值,则其值为默认值。
唯一约束 UNIQUE KEY(UK) 设置字段的值是唯一的。允许为空,但只有能有一个控制
主键约束 PRIMARY KEY(PK) 设置该字段为表的主键,可以作为该表记录的唯一标识,如学号能唯一确定一名学生,可设置为主键
自动增长 AUTO_INCREMENT (1)设置该列为自增字段,默认每条自增1;(2)通常用于设置主键,且为整数类型;(3)可设置初始值和步长
(3)查看表
创建完表之后,如果需要查看一下该表是否存在,可以使用查看表的SQL命令,其语法格式如下。
SHOW tables;
如果需要查看表的定义,可以通过过执行SQL语句DESCRIBE来实现,其语法格式如下:
DESCRIBE 表名

DESC 表名
(4)删除表
先检测当前数据库中是否存在该表,可适用IF EXISTS语句进行判断。删除表的语法格式如下。
DROP TABLE [IF EXISTS] 表名;
例如:
DROP TABLE ‘student’;
(5)修改表
在原来已存在的数据表结构上对其进行修改。MySQL中使用ALTER关键字来实现。
1.修改表名
ALTER TABLE <旧表名> RENAME [TO] <新表名>
其中,TO为可选参数,使用与否不影响结果。此语句进修改表名,表结构不变。
2.添加字段
ALTER TABLE 表名 ADD 字段名 数据类型[属性];
3.修改字段
ALTER TABLE 表名 CHANGE 原字段名 新字段名 数据类型[属性];
如果不需要修改数据类型,则和原数据类型保持一致,但“数据类型”不能为空。
4.删除字段
ALTER TABLE 表名 DROP 字段名;
5.添加主键约束
ALTER TABLE 表名 CONSTRAINT 主键名 PRIMARY KEY 表名 (主键字段);
6.添加外键约束
ALTER TABLE 表名 CONSTRAINT 外键名 FOREIGN KEY (外键字段) REFERENCES 并联表名 (并联字段);
二、实现数据增删改查
1.插入数据
INSERT INTO 表名 [(字段名列表)] VALUES (值列表);
其中:
表的字段是可选的,如果省略,则一次插入所有字段。
多个列表和多个值之间使用逗号分隔开。
值列表必须和字段名列表数量相同,且数据类型相符。
如果插入的是表中分列的数据,字段名列表必须填写。
INSERT语句支持一次插入多条记录,插入时可指定多个值列表,每个值列表之间用逗号隔开。
INSERT INTO 表名 (字段名列表) VALUES (值列表1),(值列表2),…,(值列表n);
2.将查询结构插入到新表中
CREATE TABLE 表名(SELECT 字段1,字段2,…FROM原表);
3.更新数据记录
UPDATE 表名 SET 列名=更新值[WHERE 更新条件]
其中:
(1)SET后面可以紧随多个“列名=更新值”以修改多个数据列的值,不限一个,不同列之间只用逗号分隔。
(2)WHERE子句是可选的的,用来限制更新数据的条件。若不限制,则整个表的所有数据行将被更新。
使用UPDATE语句可能更新一行数据,也可能更新多行数据,还可能不会更新任何数据。
4.删除数据记录
(1)使用DELETE删除数据
DELETE [FROM] 表名 [WHERE <删除条件>]
如果要删除的行的主键值比其他表引用,那么删除被引用的行时MySQL将报告与约束冲突的错误信息。
(2)使用TRUNCATE TABLE删除数据
TRUNCATE TABLE用来删除表中的所有行,功能上类似于没有WHERE子句的DELETE语句。可以删除信息表中的搜有记录,但是TRUNCATE TABLE比DELETE执行速度块,使用的资源系统和事务日志资源更少,并且删除数据后表的标志列表会重新开始编号。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值