数据库的这些操作,你都知道吗?满满干货等你来收藏
Posted 哩小米
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库的这些操作,你都知道吗?满满干货等你来收藏相关的知识,希望对你有一定的参考价值。
第三章 DDL和DML
前言:
SQL------>structured query language------结构化查询语言
DDL------>date defination language------数据定义语言
DML------>date manipulation language------>数据操作语言
3.1 数据库操作
1、创建数据库
语法:CREATE DATABASE 数据库名;
示例:CREATE DATABASE myschool;
2、查看数据库列表
语法:SHOW DATABASES;------>S必须是复数
示例:CREATE DATABASE myschool;
3、选择数据库
语法:USE 数据库名;
示例:USE myschool;
4、删除数据库
语法:DROP DATABASE 数据库名;
示例:DROP DATABASE myschool;
3.2表操作
1、创建表
语法:CREATE TABLE 表名();
示例:CREATE TABLE t_student(
studentNo INT(4) NOT NULL COMMENT'学号' PRIMARY KEY
);
2、查看表
语法:SHOU TABLES 表名();------>表不仅仅是复数
3、查看表定义
语法:DESCRIBE 表名;
示例:DESCRIBE t_student;
4、删除表
语法:DROP TABLE 表名;
示例:DROP TABLE t_student;
5、修改表结构------>场景:新增字段
语法:ALTER TABLE 表名 ADD 新增字段名称 字段的数据类型、长度、非空、默认值等等;
示例:DROP TABLE t_student ADD studentname VARCHAR(50) NOT NULL;
6、变更字段名称
语法:ALTER TABLE 表名 CHANGE 原来的旧字段 新字段名 数据类型(长度);
示例:ALTER TABLE t_student CHANGE sex gender CHAR(4);
注:变更前后的数据类型必须相同,数据长度可以不同
7、更新字段名------>场景:修改同一个字段的属性,包括默认值、数据类型、非空、自增长、主/外键、唯一约束
语法:ALTER TABLE 表名 MODIFY 字段名 默认值 数据类型、非空、自增长、主/外键、唯一约束等;
示例:ALTER TABLE t_student MODIFY gradeID INT(40) UNSIGNED;
8、删除字段
语法:ALTER TABLE 表名 DROP COLUMN 字段名;
示例:ALTER TABLE t_student DROP COLUMN gender;
9、添加外键约束
语法:ALTER TABLE 含有外键的表名 ADD CONSTRAINT 外键名 FOREIGN KEY (含有外键的字段) REFERENCES 主表(主键/唯一约束);
示例:ALTER TABLE t_deposit ADD CONSTRAINT fk_deposit_user_username FOREIGN KEY (username) REFERENCES t_user(username);
10、删除外键约束
语法:ALTER TABLE 含有外键的表名 DROP FOREIGN KEY 外键名;
示例:ALTER TABLE t_deposit DROP FOREIGN KEY fk_deposit_user_username;
11、重命名表名
语法:RENAME TABLE 旧表名 TO 新表名;
示例:RENAME TABLE t_usert TO t_usert 888;
3.3、使用DML新增和更改数据
【1】检索------>查询
【2】更新------>插入数据、删除数据、更改数据
1、插入数据
语法:INSERT INTO 表名 VALUSE(值);
示例:INSERT INTO t_usert VALUSE(
'chenchen','12','小陈',NULL,'2003-09-15',19.30
);
注:每个具体数据用逗号分隔,且字段必须和输入数据的次序一一对应
2、修改数据
语法:UPDATE 表名 SET 字段名1=值,字段名2='值'[WHERE 条件表达式];
示例:UPDATE t_usert SET balance=20+balance WHERE name='小陈';
注:有没有引号看具体字段的数据类型,中间用逗号分隔
3.4、使用DML删除表数据 ------>表还在,只删除了表中的数据
语法:DELETE FROM 表名 [WHERE 字段名='值'];
示例:DELETE FROM t_bikes WHERE bikeid=2;
提问1:为什么删除表数据之后,新加数据的自动递增的序号连不上?
--------因为序号往往被设置为主键,要保证不重复性和唯一性,所以每个序号都是唯一的,不能重新编号和之前的数据重合
提问2:有没有方法实现重新编号?
--------方法一:TRUNCATE TABLE 表名;------>用截断方式删除表中的所有数据
方法二:删除原来的表,新建表来确定唯一性
删除含有外键的记录时:
1、RESTRICT------>表示此外键内容不能删除
2、SET NULL------>主表被删除后值变为null------(建议)
3、CASCADE------>主表被删除后,从表内容跟着删除------(不建议)
创建表或新增时的顺序:
CREATE TABLE 表名(
字段名 数据内型(长度) 非空/无符号/默认值/唯一约束[自动增长] 注释 主外键
);
注意:外键添加前不能先输入数据的,需要先设置外键在添加数据
以上是关于数据库的这些操作,你都知道吗?满满干货等你来收藏的主要内容,如果未能解决你的问题,请参考以下文章
报名 | 2018 Weex Meetup 上海站 等你来聚
一文掌握oracle19c之离线情况下命令行安装和建库(下)- 本文干货满满,记得收藏哈
动态开辟内存的这些知识你知道了吗?了解柔性数组吗?超详细画图以及文字讲解,干货满满