一、MySQL表的操作
库管理:
create database db1 default charset utf8;创建数据库,并且可以输入显示中文
show databases; 查看所有数据库
use db1;进入库
grant all on wordpress.* to "用户"@“主机名,访问的主机” identified by “123”;创建用户给用户分配他的可用数据库并设置密码
drop database db1;删除库
表管理:
create table t1(id int(2),name char(20),age int);创建表
(字段 类型 ,字段 类型(长度),字段 类型)字段后为字段修饰符(约束条件)
show tables;查看所有表
desc t1;查看表结构
show create table t1; 查看表创建过程,当表特别长时加 \G
select * from t1; 查询表中所有信息
select 字段,字段 from 表名; 查看表中信息
show table status like ‘表名’; 查看表状态
rename table 原名 to 新表名; 修改表名
rename table t1 to t3;修改表名
alter table 表名 add 字段 修饰符; 添加表字段语句
alter table t1 drop id;删除表字段语句
alter table t1 modify age varchar(2);修改表字段类型格式
alter table t1 change age plage int(3);修改表字段名称以及类型
alter table t1 rname per; 修改表名
alter table t1 change chinese china int(6); 修改表中字段名称
alter table t1 change english en int(6) after id; 修改表中字段名称在字段之后
alter table t1 change en int(6) after name; 修改表中字段位置
alter table t1 modify en int(6) first; 修改表中字段位置
写入数据:insert
更新数据:update
删除数据:delete
一、插入数据INSERT
1. 插入完整数据(顺序插入)
语法一:
INSERT INTO 表名(字段1,字段2,字段3…字段n) VALUES (值1,值2,值3…值n);
语法二:
INSERT INTO 表名 VALUES (值1,值2,值3…值n);
2. 指定字段插入数据
语法:
INSERT INTO 表名(字段2,字段3…) VALUES (值2,值3…);
3. 插入多条记录
语法:
INSERT INTO 表名 VALUES
(值1,值2,值3…值n),
(值1,值2,值3…值n),
(值1,值2,值3…值n);
4. 插入查询结果
语法:
INSERT INTO 表1(字段1,字段2,字段3…字段n)
SELECT (字段1,字段2,字段3…字段n) FROM 表2
WHERE …;
插入数据,字符串必须引号引起来
insert into t1 values(1,‘user1’);插入数据
insert into t1(id,name,math,china) values(1,“wing”,80,90);
insert into t1(id,name,math,china) values(2,"king",70,100),(3,"tom",50,70);
insert into t1 set id=6,math=65;
二、更新数据UPDATE
语法:
UPDATE 表名 SET 字段1=值1,字段2=值2 WHERE CONDITION;
update t1 set name='' mama'' where id=5; 添加更新数据
delete from t1 where id=6;删除数据,删除id=6字段的数据
delete from t1;删除所有记录
create table t5(select * from t1);复制t1表到t5
create table t5(select id,name from t1);复制t1表的id,name字段到t5
create table t5(select id,name from t1 where 5=4);where 5=4 不成立只复制结构不复制数据 若5=5则既复制结构又复制数据
insert into t3 select * from t1 where id=9; 复制记录,两表格字段要相同
drop table t1;删除表
二、MySQL数据类型
数值类型:
整数类型:tinyint,smallint,mediumint,int,bigint。整型可以指定是有符号的和无符号的,默认是有符号的,可以通过UNSIGNED来说明某个字段是无符号的。
作用:用于存储用户的年龄,游戏的leve1,经验值等。
浮点数类型:float(大约七位),double(精度15位左右)
作用:用于存储用户的身高,体重,薪水等,浮点数和定点数都可以用类型名称后加(M,D)的方式来表示,(M,D)表示一共显示M位数字(整数位+小数位),其中D位于小数点后面,M和D又称为精度和标度。
字符串类型:
char系列:char,varchar
binary系列:binary,varbinary
作用:用于存储用户的姓名、爱好、发布的文章等
CHAR 列的长度固定为创建表时声明的长度: 0 ~ 255
VARCHAR 列中的值为可变长字符串,长度: 0 ~ 65535
枚举类型:enum
作用:给定选项,单选 例:(男,女)二选一
集合类型:set
作用:给定选项,多选
时间和日期类型:date time datetime timestamp year
时间和日期类型作用:用于存储用户的注册时间,文章的发布时间,文章的更新时间,员工的入职时间等
==插入年份时,尽量使用4位值
==插入两位年份时,<=69,以20开头,比如65, 结果2065
>=70,以19开头,比如82,结果1982
整数类型:
tinyint: 1 字节,范围为 -128 到 127 或 0 到 255。
smallint:2 字节,范围为 -32768 到 32767 或 0 到 65535。
mediumint:3 字节,范围为 -8388608 到 8388607 或 0 到 16777215。
int:4 字节,范围为 -2147483648 到 2147483647 或 0 到 4294967295。
bigint:8 字节,范围为 -9223372036854775808 到 9223372036854775807 或 0 到 18446744073709551615。
float:4 字节,单精度浮点数,范围为 -3.402823466E+38 到 -1.175494351E-38,0,1.175494351E-38 到 3.402823466E+38。表示精度大约为7位。
double:8 字节,双精度浮点数,范围为 -1.7976931348623157E+308 到 -2.2250738585072014E-308,0,2.2250738585072014E-308 到 1.7976931348623157E+308。15位左右。
decimal:变长的精确数值,支持 65 位整数位和 30 位小数位。
字符串类型:
char:定长字符串,最大长度为 255 个字符。
varchar:变长字符串,最大长度为 65535 个字符。
binary:定长二进制字符串,最大长度为 255 个字节。
varbinary:变长二进制字符串,最大长度为 65535 个字节。空间会变小。
text:变长字符串,最大长度为 65535 个字符。
blob:变长二进制字符串,最大长度为 65535 个字节。
enum:枚举类型,最多可以包含 65535 个值之一。
set:集合类型,最多可以包含 64 个值之一。
日期时间类型:
date:日期,格式为 'YYYY-MM-DD'。
time:时间,格式为 'HH:MM:SS'。
datetime:日期和时间,格式为 'YYYY-MM-DD HH:MM:SS'。
timestamp:自动存储记录插入或更新的日期和时间,格式为 'YYYY-MM-DD HH:MM:SS'。