学校的项目组有必要加入吗?
看你的初心.
~~如果初心是通过这个经历能够提高自己的技术水平 ~~是可以考虑的
~~如果初心是通过这个经历提高自己找工作的概率 ~~这个是不靠谱的,啥用没有
~~如果初心是通过这个体验更美好的大学生活 ~~靠谱的
秋招,应届生,找工作是非常容易的!!! ~~结果是美好的,过程是曲折的. ~~进大厂是不容易的!!!
MySQL数据库和表操作
数据库操作
数据库操作:
查看所有数据库 show databases;
创建数据库 create database [数据库名];
选中数据库 use [数据库名];
删除数据库 drop database [数据库名];
删库操作非常危险!!!很有可能把你的工作给删没了 ~~也有可能把你老板的工作也给删没了
数据表操作
数据表操作:
前提都是要选中数据库
查看数据表 show tables;
创建表
语法:
CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype );
可以使用comment增加字段说明 ~~相当于注释,只是comment这个注释不太好用,只能在创建表的时候用 ~~更推荐使用 “- -”(2个横线)或者“#”作为注释
~~ 注释只是在源码中存在,并不会在数据库里面保存起来
示例:
create table stu_test ( id int, name varchar(20) comment '姓名 ', password varchar(50) comment '密码 ', age int, sex varchar(1), birthday timestamp, amout decimal(13,2), resume text );
创建一张学生表
(id int, name varchar(20))
列的名字在前,类型在后 ~~ 有点违背我们日常的编码习惯
C , Java => 类型 变量名 = 0; ~~
int a = 10;
当然,有些编程语言和SQL语句一样,就是把类型放到后面,如Python,Go,C++(部分场景)
常用的数据类型
INT: 整型
DOUBLE: 浮点数类型
DECIMAL(M, D): 浮点数类型
VARCHAR(SIZE): 字符串类型
DATETIME: 日期类型
思考一下:
上面的几种数据类型都是有符号的(带有正负的)
问题来了:那么mysql是否有无符号类型???
有!!! ~ 如int, 加上unsigned => unsigned int 无符号类型
重点:mysql官方文档,明确说,无符号类型不建议使用,而且会在未来的版本中不在支持了!!!
而且我们熟知的java是没有无符号类型的 => 说明,无符号是有大问题的!!!
真实案例:
- 查看指定表的表结构
desc 表名;
desc => describe的缩写.(描述一个表是啥样子的)
对此博主理解好比,有一天,你在学校里看到一个妹纸,你说,”哇,这妹子长得贼好看”,等你回寝室了,跟室友说,”今天我遇到一个贼好看的妹子”,你室友问了,”我去,这妹子到底长啥样啊?!”这时,你就得描述描述,至于,具体的描述嘿嘿(*^▽^*)嘿嘿,我就不说了. ~ 现在不是描述妹子,而是描述一张表而已,兄弟们,你们这样就不会不行了吧🙁🙁🙁!!! ~~ 描述一张表可比描述妹子简单多了,描述妹子其实挺难的(博主真心话) ~ 当然,哥们你要是曹植一样有才,为甄宓而作了洛神赋,当我没说.
~~ <<洛神赋>> ~ ~”翩若惊鸿,婉若游龙,荣曜秋菊,华茂春松。髣髴兮若轻云之蔽月,飘飖兮若流风之回雪。”
~~ Type => int(11)意思是这一列在客户端里查询显示的时候结果最多是11个字符,但是11只是和显示有关,和存储无关!!!
~~ Null => YES 表示这一列可以为空,这里的内容是选填项
~~ Default => 列的默认值 ~ NULL
4.删除表
drop table 表名;
详细的语法格式
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
示例:
-- 删除 stu_test 表
drop table stu_test;
-- 如果存在 stu_test 表,则删除 stu_test 表
drop table if exists stu_test;
课后练习题
题目
- 有一个商店的数据,记录客户及购物情况,有以下三个表组成 :
- 商品goods(商品编号goods_id ,商品名goods_name, 单价unitprice, 商品类别category, 供 应商provider)
- 客户customer(客户号customer_id,姓名name,住址address,邮箱email,性别sex ,身份证 card_id)
- 购买purchase(购买订单号order_id,客户号customer_id,商品号goods_id,购买数量nums)
SQL语句
- SQL:
-- 创建数据库
create database if not exists bit32mall
default character set utf8 ;
-- 选择数据库
use bit32mall;
-- 创建数据库表
-- 商品
create table if not exists goods
(
goods_id int comment '商品编号 ',
goods_name varchar(32) comment '商品名称 ',
unitprice int comment '单价,单位分 ',
category varchar(12) comment '商品分类 ',
provider varchar(64) comment '供应商名称 '
);
-- 客户
create table if not exists customer
(
customer_id int comment '客户编号 ',
name varchar(32) comment '客户姓名 ',
address varchar(256) comment '客户地址 ',
email varchar(64) comment '电子邮箱',
sex bit comment '性别 ',
card_id varchar(18) comment '身份证 '
);
-- 购买
create table if not exists purchase
(
order_id int comment '订单号 ',
customer_id int comment '客户编号 ',
goods_id int comment '商品编号 ',
nums int comment '购买数量 '
);
注:在写复杂sql语句的时候,可以先在记事本中写,然后复制过去,当然也可以在idea中写(有高亮补全的)
~~ 单价的类型使用
~~ double(3,1) 不精确!!!
~~ decimal 是相对较好的选择!!!(更精确) ,存储结构与double不一样,占用的空间更大,同时运算速度更慢
~~int 是更好的选择,即是精确的,同时也能进行高效的计算和存储,不过由于int只能存储整数,加上钱的计算单位为元 角 分, ~~使用分为单位进行计算,表示钱的小技巧.