MYSQL初步

1.基础操作

1.1查看所有数据库

show databases;

1.2创建数据库

create database student;   --create database数据库名

1.3使用数据库

use student;  -- use 数据库名

1.4查看所有表

show tables;

1.5查看表信息

describe student;  -- 显示数据库表信息

2.操作表格

2.1创建表格

CREATE TABLE tablename (
    `字段名` 列类型[属性] [索引] [注释], 
    `字段名` 列类型[属性] [索引] [注释], 
    `字段名` 列类型[属性] [索引] [注释], 
    ......
    `字段名` 列类型[属性] [索引] [注释], 
)[表类型][字符集设置][注释];

2.2创建一个学生表

 /*  创建一个学生表
    学号 int 登录密码 varchar(20) 姓名,性别 varchar(20)  出生日期(datetime) ,家庭住址, email
  */
create table if not exists student (
    `id` int(4) not null auto_increment comment '学号',
    `name` varchar(30) not null DEFAULT '匿名' comment '姓名',
    `pwd` varchar(30)  not null DEFAULT '123456' comment '密码',
    `sex` varchar(2) not null DEFAULT '女' comment '性别',
    `birthday` datetime DEFAULT null comment '出生日期',
    `address` varchar(100) DEFAULT null comment '家庭住址',
    `email` varchar(50) DEFAULT null comment '邮箱',
    primary key (id)
)engine=INNODB DEFAULT  CHAR SET=utf8

CREATE TABLE:用来创建一个新的表格。

IF NOT EXISTS:如果这个表格不存在,则创建它。

id:一个整数类型的列,占用4个字节,用来存储学号。这个列是主键,也就是说,每个学生的学号必须是唯一的。

name:一个字符串类型的列,最大长度为30个字符,用来存储学生的姓名。如果没有提供姓名,则默认为“匿名”。

pwd:一个字符串类型的列,最大长度为30个字符,用来存储学生的密码。如果没有提供密码,则默认为“123456”。

sex:一个字符串类型的列,最大长度为2个字符,用来存储学生的性别。如果没有提供性别,则默认为“女”。

birthday:一个日期和时间类型的列,用来存储学生的出生日期,如果没有提供出生日期,则默认为NULL。

address:一个字符串类型的列,最大长度为100个字符,用来存储学生的家庭住址。如果没有提供家庭住址,则默认为NULL。

email:一个字符串类型的列,最大长度为50个字符,用来存储学生的电子邮箱。如果没有提供电子邮箱,则默认为NULL。

comment是用于添加注释的关键字

DEFAULT关键字用于设置字段的默认值

PRIMARY KEY:定义id列为主键,也就是说,每个学生的学号必须是唯一的。

ENGINE=INNODB:指定存储引擎为InnoDB,InnoDB是MySQL的一种事务性存储引擎,支持ACID事务。

DEFAULT CHARSET=utf8:指定字符集为utf8,这样可以支持中文等非ASCII字符集的数据。如果没有指定字符集,则默认为数据库的默认字符集。

2.3查看表结构

desc student;

2.4修改表格

-- alter table 旧表名 rename as 新表明;
alter table student rename as student1;

2.5增加表格字段

-- 增加表字段 alter table 表名 add 字段名 列属性;
alter table student1 add test int(11);
 
-- 修改字段类型,约束
alter table student1 modify test varchar(11);

2.6删除表格字段

-- 删除表格字段
alter table student1 drop test;

2.7删除表格

-- 删除表格
drop  table if exists student;

3.操作数据

3.1MySQL是一种常用的关系型数据库管理系统,支持许多不同类型的语句。以下是一些常用的语句:

SELECT:用于从表中选择数据

UPDATE:用于更新表中现有的数据

DELETE:用于从表中删除数据

INSERT INTO:用于将新数据插入表中

WHERE:用于限制查询结果的返回

ORDER BY:用于根据一个或多个列对查询结果进行排序

LIMIT:用于限制返回的行数

JOIN:用于将两个或多个表中的数据合并在一起

3.2插入语句

-- insert into 表名(字段1,字段2) value('值1','值2')
insert into student1(id, name, pwd, sex, birthday, address, email, age) value ('1','小红','123456','男','2021/5/5','福州','1@qq.com','19')

注意事项:

  1. 字段与字段之间使用英文逗号隔开

  2. 表格设置字段为空的可以省略,但是后面的值必须一一对应

3.3删除语句

-- 删除一行:delete from 表名 where 条件
delete from student1 where id = 1
 
-- 清空表格:truncate 表名 , delete from 表名
delete from student1
truncate student1

delete 和 truncate的区别

  • 相同点:都能删除数据,但不会删除表结构

  • 不同点:

    • truncate 会将自增归0

    • delete 不会自增归0       

3.4修改语句 

-- update 表名 set 字段名 = '新值' where 条件
update student1 set name = '小李' where id = 1
update student1 set name = '小李' where id < 3
-- 修改 区间范围内
update student1 set name = '小李' where id between 2 and 5
 
-- 在不指定条件的情况下,会改变所有的内容
update student1 set name = '小李'
 
-- 注意:一般来讲不会不指定条件,如果在公司不小心修改了,赶紧跑路吧!!!

3.5查询语句

 -- 查询全部信息 select 字段 from 表名;
 select * from student1;
 
-- 查询指定字段
select id,name from student1;
 
-- 给查询结果取别名
select id as '学号',name as '姓名' from student1;
 
-- 在名为 student1 的表中,选出所有学生的姓名,并且将 '姓名:' 和学生的姓名字符串 'name' 进行拼接
select concat('姓名:',name) as '新名字' from student1;

4.where条件

where条件子句是SQL语句中的一部分,用于指定如何过滤检索数据。该子句通常用于select语句中

4.1逻辑运算符


运算符	语法	描述
and &&	a and b a && b	逻辑与,两个都为真,结果为真
or ||	a or b a || b	逻辑或,其中一个为真,则结果为真
not !=	not a !a	逻辑非,真为假,假为真

4.2使用样例

-- 查询性别为女,年龄大于等于19的所有记录
select * from student1 where sex = '女'  and  age >= 19

4.3模糊查询

运算符	语法	描述
is null	a is null	如果操作符为null,结果为真
is not null	a is not null	如果操作符不为null,结果为真
between	a between b and c	若a在b和c之间,结果为真
like	a like b	SQL匹配,如果a匹配b,则结果为真
in	a in (a1,a2,a3)	如果a在a1或者a2...其中的某一个值,结果为真

4.4使用样例

-- 查询名字以小开头的
select id,name from student1 where name like '小%';
 
-- 查询以小开头,只有二个字的
select id,name from student1 where name like '小_';
 
-- id 1,2,3的数据
select id,name from student1 where id in (1,2,3)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值