Mysql的创建、增删改查

1.创建表

语法:(不区分大小写)

drop table if exists 表名; // 当这个表存在的话,删除它
create table 表名(
	字段名1 数据类型,
	字段名2 数据类型,
	字段名3 数据类型,
	...
);

//  字段1是主键不为空  字段名2(部分插入)不插入数据时默认为1
create table 表名(
	字段名1 数据类型 primary key not null,
	字段名2 数据类型 default 1,
	字段名3 数据类型,
	...
);

// unsigned:非负数,用此类型可以增加数据长度 auto_increment:自动递增
create table if not exists 表名(
	字段名1 数据类型 unsigned auto_increment,
	字段名2 数据类型 not null,
	primary key(字段名1)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

engine=innoDB:将数据库的引擎设置为InnoDB,从MySQL 5.6开始默认使用该引擎
default charset=utf8:设置数据库的默认字符为utf8

字段的数据类型

类型
int整数型
bigint长整型
float浮点型
char定长字符串型
varchar可変长字符串型
data日期型
BLOB二进制大对象型:存储图片、视频等流媒体信息 Binary Large OBject
CLOB字符大对象型:存储较大文本,比如,可以存储4G的字符串 Character Large OBject

1.1 char和varchar怎么选择

在实际的开发中,当某个字段中的数据长度不发生改变的时候,是定长的,例如:性别、生日等都是采用char
当一个字段的数据长度不确定,例如:简介、姓名等都是采用varchar

1.2 表的复制

语法:

create table 表名 as select语句; // 将查询结果当做表创建出来

mysql> create table emp2 as select empno,ename from emp;
Query OK, 14 rows affected (0.60 sec)
Records: 14  Duplicates: 0  Warnings: 0

mysql> select * from emp2;
+-------+--------+
| empno | ename  |
+-------+--------+
|  7369 | SMITH  |
|  7499 | ALLEN  |
|  7521 | WARD   |
|  7566 | JONES  |
|  7654 | MARTIN |
|  7698 | BLAKE  |
|  7782 | CLARK  |
|  7788 | SCOTT  |
|  7839 | KING   |
|  7844 | TURNER |
|  7876 | ADAMS  |
|  7900 | JAMES  |
|  7902 | FORD   |
|  7934 | MILLER |
+-------+--------+
14 rows in set (0.00 sec)

2. 新增数据

语法:

insert into 表名(字段名1,字段名2,字段名3) values(1,2,3);

insert into 表名 values(1,2,3); // 顺序需要按照表来,不能部分插入

insert into 表名(字段名1,字段名2,字段名3) values(1,2,3),(1,2,3),(1,2,3); // 插入多行数据

 insert into dept1 select * from dept; // 将dept的查询结果插入到dept1表中

字段的数量和值的数量相同,并且数据类型要对应相同
写部分字段:当表中含的比insert的字段和值时,其他字段自动为null

3. 修改

语法:

update 表名 set 字段名1=1,字段名2=2... where 条件;

mysql默认提交事务

4. 删除

语法:

delete from 表名 where 条件; // 根据条件从表中删除数据

没有条件全部删除

4.1 删除大表数据

truncate table 表名; // 表被截断,不可回滚。永久丢失
drop table 表名; // 这个通用
drop table if exists 表名; // oracle不支持这种写法

5. 查询

简单查询

还有各种查询,这里不说了,之前讲过

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值