show databases; --展示所有数据库
drop database if exists test1; --如果有test1数据库,就删除。(不会报错,如果根本就没有test1,会报警告)
create database if not exists mydemodb1 charset utf8; --如果没有mydemodb1数据库的话 就创建一个,编码格式为utf-8 (mysql不认识 - 所以utf-8 要写成utf8)
use mydemodb1; --进入到mydemodb1库中
show tables; --展示库中所有的表
drop tables if exists mydemotable1; --如果有一个叫mydemotable1的表 就删掉
create table mydemotable2( --创建个表 叫mydemotable2 相当于mydemotable2.xls
id int primary key auto_increment, --id 是整数型 是主键 (特点:唯一且不能为空 是一条记录的唯一标识,相当于excel中第一排的序号) 并且主键的需要 能 自增
name varchar(20) not null, --name 是 不定长度的 字符串型 (长度最长为20个字符,如果输入的字符不够20,也不补,节省资源,但效率有点儿低) 规定不能空着不填(非空约束)
--varchar()最长65535个 字节! 不同码表中 字节和字符的换算不一样!
--iso8859-1码表 1字节=1字符
--GBK码表 2字节=1字符
--UTF-8码表 3字节=1字符
gender char(10) , --gender 是固定长度的 字符串型 (长度最长为10,如果输入的字符不够10,就用0补,浪费资源,但效率高) char()最长255个字符
birthday date unique, --birthday 是日期类型 不能重复(也就是不能有同年同月同日生的) (唯一约束)
score double unique not null --score 是小数类型 (不能空着不填,并且还不能有分数相同的) (唯一约束和非空约束) 由于是最后一条了,就不用写,了
); --这括号里写的相当于是在规定表头
desc mydemotable2; --展示mydemotable2中的表头
--往表里添加3条数据
insert into mydemotable2(id,name,gender,birthday,score) value(1,'xiaoming','male','2020-8-8',100.0); --添加的参数位置必须和前面括号里的表头项目位置 一一对应
insert into mydemotable2() value(2,'xiaohong','female','1999-9-9',123.456); --如果表头的每项都有内容要添加,表头可以省略不写
insert into mydemotable2() value(4,'xiaowang','male','1888-2-20',4587.10); --字符串和日期类型 要用单引号''引上,小数只保留有效数字
select * from mydemotable2; --展示mydemotable2表中所有的列的内容
select name,gender from mydemotalbe2; --选择性的展示表中 name列 和 gender列的内容,并且 name列在前 gender列在后
--相当于excel中的按条件筛选
select id,name,score from mydemotable2 where score between 100 and 200; --只展示id列,name列和score列中 score的值在100-200之间的那些人
--删除重复项
select distinct name,birthday from mydemotable2 ; --只展示name列和birthday列,如果有名字相同和生日也相同 的人 去重。
update mydemotable2 set score=score+100; --给表中所有人的score都加100
update mydemotable2 set score=score+150 where id=1; --给表中id为1的人score再加150
delete from mydemotable2; --删除表中的所有数据
delete from mydemotable2 where gender='male'; --只删除表中 gender为男的数据
myseq数值类型 -- JAVA数值类型
tinyint --- byte
smallint -- short
int --- int
bigint -- long
float -- float
double -- double
c 取消当前语句的执行