My SQL基本操作(一)

1. 基础知识

  • 数据库(DATABSE)—表(TABLE)—列(COLUMN)+行(ROW)
  • 数据库名——表名——列名。
  • 数据库中行称为记录,列称为字段。
  • 语句后一定要加分号;
  • 核心是 增删改查
  • 不能有空行

参考资料:阿里云天池 SQL入门与实践

2. 基本操作命令

2.1 对数据库进行操作

2.1.1 创建数据库

CREATE DATABASE <数据库名>;
--示例
CREATE DATABASE shop;

2.1.2 删除数据库

DROP DATABASE <数据库名>;
--示例
DROP DATABASE shop;

2.1.3 激活(打开)数据库

USE <数据库名>;
--示例
USE shop;

2.2 对表进行操作

2.2.1 创建表

CREATE TABLE <表名>(
  <列名1> <数据类型> <对列的约束>,
  <列名2> <数据类型> <对列的约束>
 );
 --示例
 CREATE TABLE product(
   product_id CHAR(4) NOT NULL, 
   product_name VARCHAR(100) NOT NULL, 
   product_type VARCHAR(32) NOT NULL, 
   sale_price INTEGER, 
   purchase_price INTEGER, 
   regist_date DATE, 
   PRIMARY KEY(product_id)
 );
  • 不同数据库中的表可能重名,因此对表的操作只能在激活数据库后进行

(Error Code: 1046. No database selected Select the default DB to be used by double-clicking its name in the SCHEMAS list in the sidebar)

  • 创建表时需要指出表中有哪些列(表头),不能创建一个没有任何列的空表

(Error Code: 4028. A table must have at least one visible column)

  • 列的数据类型必须指出,约束可以不指出

2.2.2 删除表

DROP TABLE <表名>;
--示例
DROP TABLE product;
  • 由于数据库可能和表重名,因此使用CREATEDROP时要指出是DATABASE还是TABLE
  • 实际可能对多张表进行操作,所以激活数据库后不再激活USE表,而是使用FROM打开表

清空表的内容

TRUNCATE TABLE table_name
  • 相比dropdeletetruncate用来清除数据时,速度最快。

2.2.3 对表进行修改
(1)添加新的一列

ALTER TABLE <表名> ADD COLUMN <列名> <数据类型> <对列的约束>;
--示例
ALTER TABLE product ADD COLUMN product_name_pinyin VARCHAR(100);
  • 加入的列不能与当前表中的列重名

Error Code: 1060. Duplicate column name ‘product_id’

(2)删除已存在的列

ALTER TABLE <表名> DROP COLUMN <列名>;
--示例
ALTER TABLE product DROP COLUMN product_name_pinyin

(3)向表中插入新的记录

INSERT INTO <表名> (1,2,3, ……) VALUES (1,2,3, ……);  
--示例
INSERT INTO product VALUES 
  ('0002', '打孔器', '办公用品', 500, 320, '2009-09-11'),
  ('0003', '运动T恤', '衣服', 4000, 2800, NULL),
  ('0004', '菜刀', '厨房用具', 3000, 2800, '2009-09-20');  
  • 记录为空用NULL表示
  • 不能在NOT NULL列 插入 NULL
  • 查看对表中各列的设置(列名、列的数据类型、列的约束、列的默认值)
SHOW COLUMNS FROM <表名>;
--示例
SHOW COLUMNS FROM product;

(4)更新/修改已经存在的记录

UPDATE <表名>
SET <列名> = <表达式>;  
--示例
UPDATE product
   SET regist_date = '2009-10-10';
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值