2020-11-27 数据库的基本操作

MySQL数据库打开:找到bin目录下的mysql.exe

打开黑窗口以后输入:mysql -hlocalhost -uroot -p

点小企鹅,连接数据库

名称:ls

dd987f34-f358-4894-bd0f-21f3f04be9c1

DDL对数据库的操作:

新建:create,查看:show,修改:alter,删除:drop,,,查询:select

-- 新建一个数据库:                                                  create database db1;

-- 判断是否存在 如果不存在新建一个数据库:          create database if not exists db2;
-- 新建一个数据库 并且指定编码集,  指定:default:create database db3 default character gbk;
-- 查看所有的数据库:                                                  show databases;
-- 查看数据库的定义信息:                                           show create database db3;
-- 修改数据库的编码集:                                               alter database db3 character set utf8;
-- 删除数据库:                                                             drop database db2;
-- 查看当前所有数据库:                                               show databases;
-- 查看当前正在使用的数据库:                                    select database();
-- 改变当前在用的数据库:                                           use db3;


DDL对表结构的操作:

创建表的语法:create table 表名(字段名 数据类型,字段名 数据类型);字段名和数据类型之间空格连接,最后一个没有逗号

常用数据类型:int 整数;double 浮点数;varchar 字符串 data 日期  例如:'2020-11-27'

create table student(
name varchar(20),
birthday data
);

-- 查看当前在用数据库中的所有表:SHOW TABLES;
-- 查看当前的表结构:DESC student;
-- 查看创建表的语句:SHOW CREATE TABLE student;
-- 快速创建一个相似的表:CREATE TABLE teacher LIKE student;
-- 删除表:DROP TABLE teacher;
-- 判断是否存在并删除:DROP TABLE IF EXISTS teacher;
-- 修改表结构 add 为学生表添加一个新的字段:ALTER TABLE student ADD sex VARCHAR(5);
-- 修改表结构中的字段数据类型:ALTER TABLE student ADD sex VARCHAR(5);
-- 修改表结构中的字段名 change:

ALTER TABLE student ADD adress VARCHAR(10);
ALTER TABLE student CHANGE adress adresss VARCHAR(15);
-- 修改表名:RENAME TABLE student TO student1;

#dml 操作表中的数据 对表的结构进行增删改

添加:insert into 修改:update 删除:delete

-- 向表结构中添加数据 insert into 表名(字段名)values(字段值);
INSERT INTO student(NAME,birthday,sex,address) VALUES('孙悟空','2020-11-17','男','贝吉塔行星');
DESC student;//只能查看表结构,不能看到表数据

可以右键打开表,查看表结构:

也可以select:


-- 第二种添加方式 省略字段名,必须是全部字段值都一起添加
INSERT INTO student VALUES('孙悟饭','2020-11-17','男','地球');
-- 添加部分字段的值
INSERT INTO student(NAME, birthday) VALUES('孙悟天','2020-11-20');
-- 查询表中的所有数据
SELECT * FROM student;
-- 蠕虫复制,的相关内容,复制表中的数据到另一个表中(先创建一个类似stu的表试图,然后插入stu的数据)
-- insert into 表名1 select * from 表名2
CREATE TABLE student1 LIKE student;
DESC student1;
INSERT INTO student1 SELECT * FROM student;
-- 复制指定字段的数据给另外一个表
CREATE TABLE student2 LIKE student;
INSERT INTO student2 (NAME,sex) SELECT NAME,sex FROM student1;
SELECT * FROM student2;

-- dml修改表中的数据 update 表名 set 列名 = 值[where = 条件表达式];
SELECT *FROM student;
-- 更新表格中的一列数据
UPDATE student SET sex = '女';
-- 根据条件进行更新
UPDATE student SET sex = '男' WHERE NAME = '孙悟空';
UPDATE student SET sex = '超级赛亚人' WHERE NAME = '孙悟天';


-- dml删除表中的数据 delete from 表名 [where 条件表达式]
-- 删除表中所有的数据
DELETE FROM student1;
SELECT * FROM student;
-- 根据条件进行删除
DELETE FROM student WHERE NAME = '孙悟饭';


#dql 查询表中的数据 select


-- 查询表中的所有数据
SELECT * FROM student;
-- 查询某列的数据    select 字段名1,字段名2 from 表名;
SELECT NAME,sex FROM student;
-- 指定列按照别名进行查询 as 别名:我们自己给字段名起的名称
SELECT NAME AS '名称',sex AS '性别' FROM student;
-- 给表名加上别名
SELECT NAME AS '名称',sex AS '性别' FROM student AS s1;

UPDATE student SET sex = '男' WHERE NAME = '孙悟天';
-- 查询出的数据自动去重 DISTINCT
SELECT DISTINCT sex FROM student;

-- 条件查询
CREATE TABLE person(
id INT,
NAME VARCHAR(20),
sex VARCHAR(5),
math INT,
english INT
);
DESC person;
INSERT INTO person VALUES(1,'马云','男',67,99);
INSERT INTO person VALUES(2,'马化腾','男',89,77),(3,'马保国','男',56,78);
INSERT INTO person VALUES(4,'马冬梅','女',44,66),(5,'马蓉','女',44,66),(6,'德马西','女',44,66);
SELECT * FROM person;

/*
比较运算符:
< > <= >= 没有==,只有=,<>表示不等,或者 !=
in(集合) 集合中的数据要用逗号隔开
between and 表示一个范围 例如 100-200之间
like '张%' 模糊查询,含有张--'%张%'
is null 查询某一列中的null(空值)

逻辑运算符:
and && 与
or ||  或
not !  非
*/
-- 查询数学分数大于80的人
SELECT NAME FROM person WHERE math>80;
-- 查询英语分数小于60分的人
SELECT * FROM person WHERE english<60;
-- 查询数学分数不等于89分的人
SELECT * FROM person WHERE math!=89;
SELECT * FROM person WHERE math<>89;
-- 查询数学分数大于80,并且英语大于90
SELECT * FROM person WHERE math>=80 AND english>90;
-- 查询id为1或3的人
SELECT * FROM person WHERE id=1 OR id=3 || id=5;
-- in关键字 1,3,5
SELECT * FROM person WHERE id IN(1,2,5);
-- 查询数学分数80-100之间的人 包前包后
SELECT * FROM person WHERE math BETWEEN 80 AND 100;
-- like 关键字
-- 查询姓马的人 %通配
SELECT * FROM person WHERE NAME LIKE '马%';
-- 查询名字中包含蓉的人
SELECT * FROM person WHERE NAME LIKE '%化%';
-- 查询名字中包含国的人
SELECT * FROM person WHERE NAME LIKE '%国%';

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值