ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MySQL_1

2022-09-03 16:31:46  阅读:80  来源: 互联网

标签: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
来源: https://www.cnblogs.com/lzy5967/p/16652917.html

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有