首页 > 数据库 >MySQL_1

MySQL_1

时间:2022-09-03 16:34:23浏览次数:55  
标签:name -- age 数据类型 MySQL into id

MySQL

1. 注释

2. 单行注释

  • --:两个横线后面就是注释

  • 在Navicat中,ctrl+/ 快速注释

  • 在Navicat中按ctr+shiftl+/选中SQL代码取消注释

3.常用数据类型

  • 整数: int,有符号范围(-2147483648 ,2147483647),无符号范围(0,4294967295),如: int unsigned,代表设置一个无符号的整数;

  • 小整数: tinyint,有符号范围(-128,127),无符号范围(0,255),如: tinyintunsigned,,代表设置一个无符号的小整数

  • 小数: decimal,如decimal(5,2)表示共存5位数,小数占2位,不能超过2位;整数占3位,不能超过三位;

  • 字符串: varchar,如varchar(3)表示最多存3个字符,一个中文或一个字母都占一个字符;

  • 日期时间: datetime,范围(1000-01-01 00:00:00~9999-12-31 23:59:59),如"2020-01-01 12:29:59'。

4.数据库中的元素

  • 数据库-----database
  • 表----table
  • 字段(列)---field
  • 记录(行)---record

5.创建表

  • 语法:create table表名(字段名字段类型,字段名字段类型)
-- 例1:创建表a,字段要求;name(姓名),数据类型: varchar(字符串),长度为10
CREATE TABLE a (name varchar (10));
  • 创建两个字段的表
-- 例2:创建表 b,字段要求: name(姓名),数据类型为varchar(字符串),长度为10;
-- height(身高),数据类型为 decimal(小数),一共5位,其中3位整数,2位小数。
CREATE TABLE b(
name varchar(10),
height DECIMAL(5,2)
);
  • 创建三个字段的表
-- 例3:创建表c,字段要求如下:-- id:数据类型为int(整数)3
-- name姓名:数据类型为varchar (字符串)长度为20,
-- age 年龄:数据类型为tinyint unsigned《无符号小整数);
CREATE TABLE c(
id int,
name VARCHAR(20),
age TINYINT UNSIGNED
);

6.插入数据

  • 语法: insert into表名values(值,值,值);
--往表c插入一条记录
INSERT into c VALUES (0,"张飞',30);
  • 指定字段插入,语法:insert into表名(字段名,字段名) values(值,值);

    --例2:表c 插入一条记录,只设置id 和姓名name
    INSERT into c (id,name) values (3,'曹操');
    
    --例2:表c插入一条记录,只设置id和姓名ageINSERT into c (id,age) values (4,100);
    

7.插入多条记录

  • 多条insert语句,用分号隔开

    -- 例3:表c插入三条记录,写三条 insert语句,语句之间用分号隔开
    INSERT into c values (5,"周瑜',50);
    INSERT into c (id,name) values (6,'鲁肃");
    INSERT into c (name) values ('诸葛亮');
    
  • —条insert插入多条记录

  • 语法:insert into表名values(值,值).(值,值).(值,值);

    -- 例4:表c 插入多条记录,用一条 insert语句,数据之间用逗号隔开
    insert into c values (10,"张三',10),
    (11,‘李四',20),
    (12,'王五',30);
    

8. select查询表

  • 语法: select * from表名;
    • 查询表的所有字段
-- 查询表c的所有字段
select from c;
  • 指定字段名查询
  • 语法:select字段名,字段名from表名;
-- 查询表c的id字段
select id from c;
-- 查询表c的id和age字段
select id,age from c;
-- 查询表c的所有字段,但顺序自定义
select name,id , age from c;

9.update修改数据

  • 语法:update表名set字段=值,字段=值where条件
  • 如果没有where条件代表修改表中所有的记录
-- 例1:修改表c,所有人的年龄(age字段)改为50
update c set age = 50;
  • 带有条件的update语句
-- 例2:修改表 c,
-- id为3的记录,
-- 姓名(name字段)改为‘狄仁杰‘,年龄(age字段)改为20
update c set name ='狄仁杰',age = 20 where id = 3;
  • 另外的例子
-修改name为刘备的记录为李白
update c set name = '李白’ where name = '刘备';
-- id大于10的记录,长一岁
update c set age = age + 1 where id > 10;

10. delete删除记录

  • 语法:'delete from表名where条件'
-- 例1:删除表c中 id 为6的记录
DELETE from c where id = 6;
-- 例1:删除表c 中name为诸葛亮的记录
DELETE from c where name = '诸葛亮';
-- 删除年龄大于50的记录
DELETE from c where age > 50;
-- 删除id小于3的记录
delete from c where id < 3;
-- 删除所有记录
DELETE from c;

11.truncate table删除表的数据

  • truncate table 表名
-- 删除表c中所有的记录
truncate table c;

image-20220901171515894

12.小结

    • insert
    • delete
    • update
    • select

13.删除表

  • 语法—: drop table表名
-- 删除表a
drop table a;
  • 语法二: drop table if exists表名
--如果表a存在,就删除表a ,如果不存在,什么也不做DROP table if EXISTS a;
--如果表b存在,就删除表b,如果不存在,什么也不做DRoP table if EXISTS b;

字段的约束

一、常用约束介绍

  • 主键(primary key):值不能重复,auto_increment代表值自动增长;
  • 非空(not null):此字段不允许填写空值;
  • 惟一(unique):此字段的值不允许重复;
  • 默认值(default):当不填写此值时会使用默认值,如果填写时以填写为准。

二、创建带约束字段的语法格式

create table 表名(
    字段名 数据类型 约束,
    字段名 数据类型 约束
...
);

三、主键与自增长

  • 带有primary key(主键)的字段,值不能重复;
  • auto_increment为自增长;
    • 值会系统自动维护,自动增长
  • 语法
create table 表名(
	字段名 数据类型 primary key auto_increment,
    字段名 数据类型 约束
    ...
);
-- 例1:创建表d,字段要求如下:
-- id:数据类型为
-- int unsigned(无符号整数) ,primary key(主键), auto_increment(自增长);
-- name姓名:数据类型为varchar (字符串)长度为10;
-- age年龄:数据类型为int(整数)﹔
create TABLE d (
id int UNSIGNED PRIMARY key auto_increment,name varchar (10),
age int);
INSERT into d (name,age) values ('张飞',30);
-- 插入的时候指定了id的值
INSERT into d (id,name,age) values (6,'曹操',30);
-- 不指定id的值
INSERT into d (rame,age) values ('周瑜',30);select * from d;
-- 如果不指定字段,主键自增长字段的值可以用占位符,0或者nu11
INSERT into d VALUES (0,'康熙',30);
INSERT into d VALUES (NuLL,'溥仪',50);

16. 非空

  • 非空not null
    • 这个字段必须有值,如果没有值,insert插入会失败
-- 例1:创建表e,字段要求如下:
-- id:数据类型为int unsigned(无符号整数)﹔
-- name 姓名:数据类型为varchar(字符串)长度为10, not nu11(非空),
-- age 年龄:数据类型为int(整数〉﹔
CREATE table e (
id int UNSIGNED,
name var char(10) not nu11,age int);

insert into e values (1,'张三',20);
insert into e (id,age) values (1,20);
-- name非空 错误
select * from e;

17.唯一

  • 唯—unique
    • 字段的约束为唯一,表示字段的值不能重复
-- 例1:创建表f,字段要求如下:
-- id:数据类型为int(整数)
-- name姓名:数据类型为varchar (字符串)长度为10,unique(唯一);
-- age年龄:数据类型为int(整数〉﹔
CREATE TABLE f (
id int,
name var char(10) UNIQUE,
age int);
insert into f VALUES (1,'张三',20);
insert into f VALUES (2,'李四',20);
select * from f;

18.默认值

  • default值
    • 当一个字段有默认值约束,插入数据时,如果指定了值,那么默认值无效,如果没有指定值,会使用默认值
-- 例1:创建表g,字段要求如下:
-- id:数据类型为int(整数);
-- name 姓名:数据类型为varchar (字符串)长度为10;
-- age年龄:数据类型为int(整数),default(默认值) 30;
CREATE TABLE g (
	id int,
	name varchar (10),
    age int DEFAULT 30);
insert into g values ( 1,.'张三',20) ;
-- 插入的时候不指定age的值
insert into g (id, name) values (2,'李四');

select *from g;

标签:name,--,age,数据类型,MySQL,into,id
From: https://www.cnblogs.com/lzy5967/p/16652917.html

相关文章

  • MySQL_2
    1.字段的别名通过字段名as别名的语法,可以给字段起一个别名,别名可以是中文,as可以省略字段名as别名和字段名别名结果是一样的--通过as给字段起一个别名selectcar......
  • 4.2 安装与配置mysql模块
    在使用mysql模块操作mysql数据库之前,必须先对mysql模块进行必要的配置步骤如下:constmysql=require('mysql')constdb=mysql.createPool({host:'127.0.0.1......
  • Docker基础知识 (8) - 使用 Docker 部署 SpringBoot + MariaDB(MySQL)项目
    本文在“ Docker基础知识(7)-使用Docker部署SpringBoot项目”里的SpringbootWebDocker项目的基础上,添加JDBC、MariaDB和MyBatis相关依赖包和数据库操作代......
  • django中操作mysql数据库
    1.准备工作(django连接数据库)1.本机电脑下载好mysql数据库2.打开django,修改setting.py中的DATABASES配置项DATABASES={'default':{'ENGINE':'django.d......
  • MySQL数据库如何线上修改表结构
    一、MDL元数据锁在修改表结构之前,先来看下可能存在的问题。1、什么是MDL锁MySQL有一个把锁,叫做MDL元数据锁,当对表修改的时候,会自动给表加上这把锁,也就是不需要自己显式......
  • Windows10系统MySQL5.7升级到8.0
    转自:https://www.freesion.com/article/8785691339/记录MySQL5.7升级到8.0,卸载安装等解决方案1.停止MySQL服务2.卸载MySQL相关的程序step1:本次是win10系统环境;......
  • java mysql截取所需数据
    mysql截取数据:例:截取门铺名称,门铺名称长度不确定{"进店日期":"2022-09-01","电话":"1********25","姓名":"张三","单号":"90817","门铺":"吴滨路店","消费金额":"......
  • java mysql删除表中多余的重复记录(多个字段),只留有id最小的记录
    mysql删除表中多余的重复记录(多个字段),只留有id最小的记录DELETEFROM表1fWHERE(f.字段1,f.字段2)IN(SELECT字段1,字段2FROM表1GROUPBY字段1,字段2HAVING......
  • MySQL教程 - 事务(Transaction)
    更新记录转载请注明出处。2022年9月3日发布。2022年9月3日从笔记迁移到博客。事务说明事务(transaction)一种机制,用于执行成批的MySQL操作用以保证没有不完整的操......
  • MySQL教程 - 视图(View)
    更新记录转载请注明出处。2022年9月3日发布。2022年9月3日从笔记迁移到博客。说明视图是虚拟的表,是一种存储结构可以对视图进行和表一样的操作,但一般用于查询数......