前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java入门踩的坑2 【数据库快速入门】2019年8月11日

java入门踩的坑2 【数据库快速入门】2019年8月11日

作者头像
韩旭051
发布2019-11-08 11:57:13
4830
发布2019-11-08 11:57:13
举报
文章被收录于专栏:刷题笔记

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://cloud.tencent.com/developer/article/1535456

java入门踩的坑2 【数据库快速入门】2019年8月11日

今天一大早,五点就醒了,没事干就赶紧把数据库入门的课看了几十分钟 ,敲了敲,果然就困了 倒床上直接睡到了十一点半。

话费不多,废话不多说。直接摆上今天的笔记;

1.安装配置

这就不多说了,网上一大片。

记住本地ip 127.0.0.1 localhost也行 mysql默认端口3306 账户默认 root 密码root

2. 控制台连接数据库

mysql -u用户 -p密码 (u和p后面都没有空格哦!!!!!) mysql -hIP地址 -u用户 -p密码 (u和p后面都没有空格哦!!!!!) mysql --host=IP地址 -u用户 -p密码 (u和p后面都没有空格哦!!!!!) 退出exit或quit

装上SQLyog图形化工具——客户端

什么是SQL? Structured Query Language 结构化查询语言 SQL作用 1) 是一种所有关系型数据库的查询规范,不同的数据库都支持。 2) 通用的数据库操作语言,可以用在不同的数据库中。 3) 不同的数据库 SQL 语句有一些区别 SQL语句分类 1) Data Definition Language (DDL 数据定义语言) 如:建库,建表 2) Data Manipulation Language(DML 数据操纵语言),如:对表中的记录操作增删改 3) Data Query Language(DQL 数据查询语言),如:对表中的查询操作 4) Data Control Language(DCL 数据控制语言),如:对用户权限的设置

3.今天学的需要记住的句子

3.1创建数据库

create database 数据库名字; create database if not exists 数据库名字; create database 数据库名字 character set 字符集;

所有语句都是;分号结尾不能忘

字符集 utf-8 没有-直接utf8;

3.2查看创建的数据库

查看所有的额 show create databases; -- 查看某个数据库的定义信息 show create database db3; show create database db1;

3.3修改数据库字符集

alter database db3 character set utf8;

3.4删除数据库

drop database db2;

3.5使用数据库

查看正在使用中的数据库 select database(); 使用或切换数据库 use 数据库名;

3.6创建表

create table 表名( 字段名 字段类型; 字段名 字段类型; ......... );

mysql常用类型

int double varchar date

例子:

create table student ( id int, -- 整数 name varchar(20), -- 字符串 birthday date -- 生日, 最后没有逗号 );

4查看表

查看所有表 show tables; 查看表结构 desc 表名; 查看创建表的SQL语句 show create table 表名;

5快速创建一个相同的表

create table 新表 like 旧表;

6删除表

drop table 表名; 判断存在,再删除 drop table if exists 表名

7修改表结构

添加表列 alter table 表名 add 列名 类型 ; 修改表类型 alter table 表名 modify 列名 新的类型; alter table 表名change 旧列名 新列名 新类型; 删除列 alter table 表名 drop 列名; 修改表名 alter table 表名 to 新表名; 修改字符集 alter table 表名 character set 字符集;

8插入

所有的字段名都写出来 INSERT INTO 表名 (字段名 1, 字段名 2, 字段名 3…) VALUES (值 1, 值 2, 值 3); 不写字段名 INSERT INTO 表名 VALUES (值 1, 值 2, 值 3…); 插入部分数据 INSERT INTO 表名 (字段名 1, 字段名 2, ...) VALUES (值 1, 值 2, ...); insert into student (id,name,age,sex) values (1, '孙悟空', 20, '男'); insert into student (id,name,age,sex) values (2, '孙悟天', 16, '男'); -- 插入所有列 insert into student values (3, '孙悟饭', 18, '男', '龟仙人洞中'); -- 如果只插入部分列,必须写列名 insert into student values (3, '孙悟饭', 18, '男'); select * from student;

insert的注意事项:

1) 插入的数据应与字段的数据类型相同 2) 数据的大小应在列的规定范围内,例如:不能将一个长度为 80 的字符串加入到长度为 40 的列中。 3) 在values中列出的数据位置必须与被加入的列的排列位置相对应。在mysql中可以使用value,但不建议使 用,功能与 values 相同。 4) 字符和日期型数据应包含在单引号中。MySQL 中也可以使用双引号做为分隔符。 5) 不指定列或使用 null,表示插入空值。

9查看 MySQL 内部设置的编码

查看包含 character 开头的全局变量 show variables like 'character%'; 解决方案 :修改 client、connection、results 的编码为 GBK,保证和 DOS 命令行编码保持一致

10蠕虫复制

将表名 2 中的所有的列复制到表名 1 中 INSERT INTO 表名 1 SELECT * FROM 表名 2; 只复制部分列 INSERT INTO 表名 1(列 1, 列 2) SELECT 列 1, 列 2 FROM student;

11更新表记录

-- 不带条件修改数据,将所有的性别改成女 update student set sex = '女'; -- 带条件修改数据,将id号为2的学生性别改成男 update student set sex='男' where id=2; -- 一次修改多个列,把id为3的学生,年龄改成26岁,address改成北京 update student set age=26, address='北京' where id=3;

12删除表记录

-- 带条件删除数据,删除id为1的记录 delete from student where id=1; -- 不带条件删除数据,删除表中的所有数据 delete from student; 使用truncate删除表中所有记录 TRUNCATE TABLE 表名; truncate和delete的区别: truncate 相当于删除表的结构,再创建一张表。

13简单查询

查询所有的学生: select * from student; 查询 student 表中的 name 和 age 列 select name,age from student; 使用关键字 使用别名的好处: 显示的时候使用新的名字,并不修改表的结构。 -- 使用别名 select name as 姓名,age as 年龄 from student; -- 表使用别名 select st.name as 姓名,age as 年龄 from student as st ;

14清除重复值

-- 查询学生来至于哪些地方 select address from student; -- 去掉重复的记录 select distinct address from student;

15查询结果参与运算

select * from student; -- 给所有的数学加 5 分 select math+5 from student; -- 查询 math + english 的和 select * from student; select *,(math+english) as 总成绩 from student; -- as 可以省略 select *,(math+english) 总成绩 from student;

16 条件查询

准备数据 创建一个学生表,包含如下列:

CREATE TABLE student3 ( id int, -- 编号 name varchar(20), -- 姓名 age int, -- 年龄 sex varchar(5), -- 性别 address varchar(100), -- 地址 math int, -- 数学 english int -- 英语 ); INSERT INTO student3(id,NAME,age,sex,address,math,english) VALUES (1,'马云',55,'男', ' 杭州',66,78), (2,'马化腾',45,'女','深圳',98,87), (3,'马景涛',55,'男','中国香港',56,77), (4,'柳岩 ',20,'女','湖南',76,65), (5,'柳青',20,'男','湖南',86,NULL), (6,'刘德华',57,'男','中国香港 ',99,99), (7,'马德',22,'女','中国香港',99,99), (8,'德玛西亚',18,'男','南京',56,65);undefined -- 查询math分数大于80分的学生 select * from student3 where math>80; -- 查询english分数小于或等于80分的学生 select * from student3 where english <=80; -- 查询age等于20岁的学生 select * from student3 where age = 20; -- 查询age不等于20岁的学生,注:不等于有两种写法 select * from student3 where age <> 20; select * from student3 where age != 20;undefined -- 查询 age 大于 35 且性别为男的学生(两个条件同时满足) select * from student3 where age>35 and sex='男'; -- 查询 age 大于 35 或性别为男的学生(两个条件其中一个满足) select * from student3 where age>35 or sex='男'; -- 查询 id 是 1 或 3 或 5 的学生 select * from student3 where id=1 or id=3 or id=5; -- 查询id是1或3或5的学生 select * from student3 where id in(1,3,5); -- 查询id不是1或3或5的学生 select * from student3 where id not in(1,3,5); 查询 english 成绩大于等于 75,且小于等于 90 的学生 select * from student3 where english between 75 and 90;undefined -- 查询姓马的学生 select * from student3 where name like '马%'; select * from student3 where name like '马'; -- 查询姓名中包含'德'字的学生 select * from student3 where name like '%德%'; -- 查询姓马,且姓名有两个字的学生 select * from student3 where name like '马_';

反正基本语法我也记不住,用的时候再说呗!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/08/12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • java入门踩的坑2 【数据库快速入门】2019年8月11日
  • 话费不多,废话不多说。直接摆上今天的笔记;
  • 1.安装配置
  • 2. 控制台连接数据库
    • 装上SQLyog图形化工具——客户端
    • 3.今天学的需要记住的句子
      • 例子:
      • 反正基本语法我也记不住,用的时候再说呗!
      相关产品与服务
      云数据库 SQL Server
      腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档