MySQL数据库基础语句

笔记参考:

最新Python的web开发全家桶(django+前端+数据库)

Django web开发(二) - Mysql数据库_ShangCode的博客-CSDN博客

简单认识数据库结构

数据库可以看作文件夹,表就可以看作文件

1.数据库管理

查看现有数据库

show databases;

创建数据库

create database 数据库名字 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

因为utf-8是常用的编码方式,所以可以在创建数据库时直接声明默认编码为utf-8

删除数据库

drop database 数据库名字;

进入数据库

use 数据库名字;

查看数据库下所以表

show tables;

2.数据表管理

创建表

create table 表名称(
	列名称 类型 属性,
	列名称 类型 属性,
	列名称 类型 属性
) default charset=utf8;

属性是对当前列元素的限制,可以不写

例子

create table tb1(
	id int auto_increment primary key,
	name varchar(64) not null,
    email char(64) null,
	age tinyint default 22,
    salary decimal(10,2)
    create_time datetime
) default charset=utf8;
常见属性
null #可以为空
not null #不允许为空
default N #默认数据为N
primary key #主键,不允许为空,不允许有重复
auto_increment primary key #自增主键,系统根据数据插入自动维护主键
常用数据类型
整型

tinyint
有符号, 取值范围: -128 ~ 127(有正有负)
无符号, 取值范围: 0 ~ 255(只有正)
int
有符号, 取值范围: -2147483648 ~ 2147483647(有正有负)
无符号, 取值范围: 0 ~ 4294967295(只有正)
bigint
有符号, 取值范围: -9223372036854775808 ~ 9223372036854775807(有正有负)
无符号, 取值范围: 0 ~ 18446744073709551615(只有正)

浮点型

float-单精度浮点型
double-双精度浮点型
decimal-精度可控,四舍五入

声明方式

decimal(m,d)

m:当前数一共有几位

d:当前数在小数点后有几位

字符串

char

声明方式

char(N)

定长字符串, 固定用 N个字符串进行存储,哪怕字符串个数不足,也按照N个字符存储
最多能存储255个字节的数据
查询效率高
varchar

声明方式

varchar(N)

变长字符串,最长 N 个字符,真实数据多长就按多长存储
最多能存储 65535 个字节的数据,中文可存储 65535/3 个汉字
相对 char 类型,查询效率低,节省空间
text

声明方式

text

保存变长的大字符串,可以最多到 65535 个字符
一般用于文章和新闻

mediumtext
longtext

时间

datetime
YYYY-MM-DD HH:MM:SS (1000-01-01 00:00:00/9999-12-31 23:59:59)

date
YYYY-MM-DD (1000-01-01/9999-12-31)

删除表

drop table 表名称;

查看表中各列属性

desc 表名称;

添加数据

insert into 表名称(字段1, 字段2, ...) values(字段1的值, 字段2的值, ...);
#批量添加多行
insert into 表名称(字段1, 字段2, ...) values(字段1的值, 字段2的值, ...),(字段1的值, 字段2的值, ...),(字段1的值, 字段2的值, ...);

例子:

insert into tb1(name,age) values("张三",25);

查询数据

select 字段名(或者*) from 表名称;
select 字段名(或者*) from 表名称 where 条件;

例子:

mysql> select * from tb1;
+----+--------+------+
| id | name   | age  |
+----+--------+------+
|  1 | 张三   |   25 |
+----+--------+------+

mysql> select name from tb1;
+--------+
| name   |
+--------+
| 张三   |
+--------+

mysql> select * from tb1 where id = 1;
+----+--------+------+
| id | name   | age  |
+----+--------+------+
|  1 | 张三   |   25 |
+----+--------+------+


删除数据

delete from 表名称;				#--删除所有数据
delete from 表名称 where 条件;	#--删除指定数据

例子:

delete from tb1 where id = 1;
delete from tb1 where id = 1 and name = "张三";
delete from tb1 where id = 1 or id = 100;
delete from tb1 where id > 100;
delete from tb1 where id != 50;
delete from tb1 where id in (10,15);

修改数据

update 表名称 set=;				#--修改一列
update 表名称 set=,=;		#--修改多列
update 表名称 set=where 条件;		#--修改某行某列

例子:

update tb1 set name="李四" where id = 1;
update tb1 set age=19 where id > 10;
update tb1 set age=age+10 where name=""李四;

小结

平时开发系统时,一般情况下:

  • 创建数据库
  • 创建表结构

都是提前通过工具+命令创建

但是,数据维护都是通过代码来实现增删改查

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值