学习内容:
MySQL(二)
前言
学习 JAVA 大数据:“钱”景无限
文章目录
一:数据库的创建和数据表的创建
二:数据表增删改查
一:数据库的创建和数据表的创建
1. 数据库的创建
A:先删除再创建(注意删除前查看下,不要删除掉有用的数据库)
Drop database if exists 数据库名;
提示: drop table if exists 表名;
Create database 数据库名 charset utf8 或gbk 或gbk2312等
举例:Drop database if exists db1; #如果db1数据库存在,则删掉db1
#创建数据库db1,设置字符编码为utf8(国际编码)
Create database db1 charset utf8;
B:直接创建
Create database 数据库名 charset utf8; 或gbk 或gbk2312等
2. 数据类型
2.1 数字类型
*unsigned 无符号,只存储正数;(属于数据的约束)
举例: unsigned int(11) id ;
存储11位内正数
*zerofill 配合显示位数,不足补0
验证 unsigned 和zerofill;
步骤1: 在db1 里创建表test
语法:
Create table 表名(字段名 整数类型字段(长度) unsigned )
注意: 创建表要先进入库,因为是在库里建表
示例:
#进入数据库db1
Use db1;
#在db1里创建test并给字段id设置了unsigned约束
Create table test (Id int(11) unsigned, No int(11) zerofill) ;
步骤2:测试这个unsigned约束,我们往表里插入数据
#往数据表test里插入一行数据,给第一个字段-1.第二个字段100
Insert into test values(-1),(100);
()一个括号表示一行
提示:ERROR 1136 (21S01): Column count doesn't match value count at row 1
/*往数据表test里插入1行数据,
第1个数据是-1,第2个数据是100
*/
Insert into test values(-1 , 100);
提示:ERROR 1264 (22003): Out of range value for column 'Id' at row 1
/*插曲*/
数据库中的注释有三种;
单行注释有-- 注释内容(记得--后加空格)和# 注释内容
多行注释有/* 注释内容*/
数字的整数类型
*tinyint
*smallint
*int 常用,默认11位
*bigint
提示: 以上整数类型无非是约束存值的大小
数字的小数类型
*float
*double (运算不精确)
*decimal 常用
举例: decimal(8,3)
总共8位,整数5位,小数3位
2.2 字符串类型
*char char的范围最后在1~255
举例char(6)
存储的时候,如果存入”你好”,则剩余4个空位,这4个空位会补上空格;
则实际存储为”你好 ”
*varchar 范围是(1-65535)
举例 varchar(6)
存储的时候是”你好”,则实际存储为”你好”
注意:varchar的存储效率和读取效率没有char高,但是varchar长期使用必然比char更节省空间
*text(文本) 范围是(1-65535) 相对比较少用
2.3 时间类型
*date 存储年月日
*time 存储时分秒
*datetime 年月日时分秒
*timestamp 时间戳(我们插入数据插入null,则会自动帮我们获取当前的时间进行存储)
提示: 时间戳是指格林威治时间1970年01月01日00时00分00秒 (北京时间1970年01月01日08时00分00秒)起至现在的总秒数
二:数据表增删改查
1.增(插入)
语法:
A:指定插入
Insert into 表名(
字段1,字段2........字段N)
Values(
对应字段1的数据,
对应字段2的数据,
..............................
对应字段N的数据)
举例:
已有表staff,字段有:
Id int
Name varchar(20)
Gender char(2)
Salary decimal(7,2)
如果我们指定给id和name插入数据,则应该这么写:
#单条数据的指定插入
Insert into staff(id,name) values (1,’刘德华’);
#多条数据的指定插入
Insert into staff(id,name) values (2,’王德华’),(3,’甘德华’);
B:单条数据插入
C:多条数据插入
D:全表插入(默认选择所有的字段进行插入)
Insert into 表名 values(
对应字段1的数据,
对应字段2的数据,
..............................
对应字段N的数据)
插话:删除,修改,查询,都要按条件执行,则我们需要学一个条件:
条件的结构:
Where 字段的定位;
例如:where id = 1;
例如:where id =2 and name =’威廉’;
2.删(删除)
语法: delete from 表 条件;
例如:delete from staff where id =1;
例如:delete from staff where id =2 and name =’威廉’;
3. 改(修改)
语法:update 表名 set 字段=新的值 where 条件
例如:update db2.staff set name=李 where id=1 and name=张
4. 查(查询)
a.查询所有字段数据语法:
Select * from 表名 where 条件;
例如: select * from staff where id >2;
b.查询指定字段数据语法:
Select 字段1,.....字段N from 表名 where 条件;
例如: select id,name from staff where id <3;
c.查看全表数据语法:
Select * from 表名;