MySQL中DDL(create,delete,alter)语句操作

缺乏、安全感 2022-11-25 00:52 224阅读 0赞

MySQL中DDL(create,delete,alter)语句操作:

1、创建表
建表语句的语法格式:

  1. create table 表名 (
  2. 字段1 数据类型 约束条件,
  3. 字段2 数据类型 约束条件,
  4. ...
  5. 字段n 数据类型 约束条件
  6. );

关于MySQL当中字段的常用数据类型:

  1. int 整数型
  2. bigint 长整型(相当于java中的long
  3. float 浮点型
  4. double 双精度浮点型
  5. char 定长字符串
  6. varchar 可变长字符串(最长255个字符)
  7. date 日期类型(对应java中的java.sql.Date类型)
  8. BLOB 二进制大对象(存储图片,视频等流媒体信息)Binary Large OBject
  9. CLOB 字符大对象(存储较大文本,比如存储4G的字符串)Character Large OBject

char和varchar怎么选择?
当某个字段中的数据长度不发生改变的时候,是定长的,例如:性别、生日等都是采用char。
当一个字段的数据长度不确定时,例如:姓名等都是采用varchar。

表名在数据库当中一般建议以:t_ 或者 tbl_开始。


2、insert语句插入数据

语法格式:insert into 表明(字段名1, 字段名2…) values(值1, 值2…);

注意:字段的数量和值数量相同,并且数据类型匹配。
这种写法对字段的顺序没有要求,只要后面的数据对应上了就行。

字段也可以省略不写:
insert into 表名 values(值1, 值2…);
注意:这种写法时,值的顺序和个数就固定了,不能乱写,只能按照表结构当中的字段顺序依次填写。

insert还可以一次插入多行数据:
insert into 表名(字段名1, 字段名2…) values(值1, 值2…), (值1, 值2…), (值1, 值2…);


3、表的复制

语法:create table 表名 as select语句;

将查询的结果集当做表创建出来。


4、将查询结果集插入到一张表中

语法:insert into 表名 select语句;

前提是查询到的结果集字段必须和插入表的字段匹配对应。


5、update修改表中数据
语法格式:update 表名 set 字段名1=值1, 字段名2=值2… where 条件;
注意:如果没有where语句,默认整张表数据全部更新。

例题:将部门10的loc修改为’上海’,将部门名称修改为’人事部’。
update dept set loc = ‘上海’, dname = ‘人事部’ where deptno = 10;

例题:更新学生表,将所有的学生年龄加1。
update student set age = age + 1;


6、删除表中记录
语法格式:delete from 表名 where 条件;
注意:如果没有where语句,默认删除整张表中的记录。

例题:删除10号部门的数据。
delete from dept where deptno = 10;

例题:删除部门表中所有的记录。
delete from dept;


用delete删除数据,数据不会释放,删掉后可以利用事务回滚恢复数据。

但有一个关键字叫做truncate,它可以直接剪掉表中所有的数据,只留下了字段名,使用前必须再三请求确认。
truncate table dept; // 表被截断,不可回滚,永久丢失


7、对表结构的修改:create,drop,alter
在实际开发中,对表结构的修改很少使用,如果硬要改,只需用工具修改即可。

修改表结构的语句不会出现在java代码中,出现在java代码中的sql语句包括:insert,delete,update,select。

增删改查有一个术语:CRUD操作
Create(增加),Retrieve(读取),Update(修改),Delete(删除)。

发表评论

表情:
评论列表 (有 0 条评论,224人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Mysql常见操作语句

    一、数据完整性     1、实体完整性     2、域完整性(列完整性约束):         指数据库表的列(即字段)必须符合某种特定的数据类型或约束。