Mysql命令大全

2018-05-16  本文已影响0人  妄自

1.数据库

备注 命令 格外设置
创建数据库 create database mydatabase charset utf8;
创建关键字数据库(需加反引号 ` ` ,尽量少用关键字创建) create database `database` charset utf8;
创建中文数据库(需 set names gbk;尽量少用中文创建) create database 中国 charset utf8; set names gbk;
查看所有数据库 show databases;
查看以information_开始的数据库: _需要被转义 show databases like 'information_%';
删除数据库 drop database informationtest;
进入数据库 use mydatabase;

2.数据表(有些表操作需先进入当前数据库,指令如:use mydatabase;)

create table if not exists mydatabase.student(  -- 显示的将student表放到mydatabase数据库下
name varchar(10),
gender varchar(10),
number varchar(10),
age int
)charset utf8;
show create table student\g -- \g ==== ;
show create table student\G -- 将查到的结构旋转90度变成纵向
desc class;
describe class;
show columns from class;
将student改为my_student;

rename table student to my_student;
alter table my_student charset = GBK;
alter table my_student
add column id int
first;  -- mysql会自动寻找分号: 语句结束符
alter table my_student
modify number char(10) after id;
alter table my_student
change gender sex varchar(10);
alter table my_student drop age;
drop table class;
insert into my_student values(1,'itcast0001','Jim','male'),
(2,'itcast0002','Hanmeimei','female');
insert into my_student(number,sex,name,id) values
('itcast0003','male','Tom',3),
('itcast0004','female','Lily',4);
alter table `表格名` add column `列名` int not null auto_increment primary key comment '主键' first;    

上面语句表示给某个表格添加一个自动增长的主键字段,并且将该字段放在第一列,
如果你想放到其他列后面,可以将上面sql语句中的 first 换成  after `已经有的列名`。
select * from my_student;
select id from my_student where id = 1;     -- 查看满足id为1的学生信息
select id,number from my_student where id = 1;  -- 查看满足id为1的学生信息
select id,number,sex,name from my_student where id = 1; -- 查看满足id为1的学生信息
update my_student set sex  = 'female' where name = 'jim'; --将 name 为 jim 中的 sex 改为 female
  delete from my_student where sex = 'male'; --删除 sex 为 male 的数据
insert into my_student values(5,'itcast0005','张越','男');
--需进行一下设置

-- 修改服务器认为的客户端数据的字符集为GBK
set character_set_client = gbk;

-- 修改服务器给定数据的字符集为GBK
set character_set_results = gbk;

-- 快捷设置字符集
set names gbk;
create table my_int(
int_1 tinyint,
int_2 smallint,
int_3 int,
int_4 bigint
)charset utf8;

-- 插入数据
insert into my_int values(100,100,100,100);  -- 有效数据

insert into my_int values('a','b','199','f');    -- 无效数据: 类型限定

insert into my_int values(255,10000,100000,1000000);    -- 错误: 超出范围

-- 给表增加一个无符号类型
alter table my_int add int_5 tinyint unsigned; -- 无符号类型

-- 插入数据
insert into my_int values(127,1000,10000,1000000,255);

alter table my_int add int_6 tinyint(1) unsigned;-- 指定显示宽度为1;
insert into my_int values(127,0,0,0,255,255);

alter table my_int add int_7 tinyint(2) zerofill; -- 显示宽度为2,0填充
insert into my_int values(1,1,1,1,1,1,1);
insert into my_int values(100,100,100,100,100,100,100);
create table my_float(
f1 float,
f2 float(10,2), -- 10位在精度范围之外
f3 float(6,2)   -- 6位在精度范围之内
)charset utf8;

-- 插入数据
insert into my_float values(1000.10,1000.10,1000.10); -- 符合条件
insert into my_float values(1234567890,12345678.90,1234.56); -- 符合条件
insert into my_float values(3e38,3.01e7,1234.56);
insert into my_float values(9999999999,99999999.99,9999.99); -- 最大值

-- 超出长度插入数据
insert into my_float values(123456,1234.123456768,123.9876543); -- 小数部分OK
insert into my_float values(123456,1234.12,12345.56);   -- 整数部分超出
create table my_decimal(
f1 float(10,2),
d1 decimal(10,2)
)charset utf8;

-- 插入数据
insert into my_decimal values(12345678.90,12345678.90); -- 有效数据
insert into my_decimal values(1234.123456,1234.1234356); -- 小数部分超出:ok

insert into my_decimal values(99999999.99,99999999.99); -- 没有问题
insert into my_decimal values(99999999.99,99999999.999); -- 进位超出范围
create table my_date(
d1 datetime,
d2 date,
d3 time,
d4 timestamp,
d5 year
)charset utf8;


-- 插入数据
insert into my_date values('2015-9-28 11:50:36','2015-9-28','11:50:54','2015-9-28 11:51:08',2015);

-- 时间使用负数
insert into my_date values('2015-9-28 11:50:36','2015-9-28','-11:50:54','2015-9-28 11:51:08',2015);
insert into my_date values('2015-9-28 11:50:36','2015-9-28','-211:50:54','2015-9-28 11:51:08',2015);
insert into my_date values('2015-9-28 11:50:36','2015-9-28','-2 11:50:54','2015-9-28 11:51:08',2015); -- -2过去2天:48

-- year可以使用2位或者4位
insert into my_date values('2015-9-28 11:50:36','2015-9-28','11:50:54','2015-9-28 11:51:08',69);
insert into my_date values('2015-9-28 11:50:36','2015-9-28','11:50:54','2015-9-28 11:51:08',70);

-- timestamp: 修改记录
update my_date set d1 = '2015-9-28 11:55:45' where d5 = 2069;
create table my_enum(
gender enum('男','女','保密')
)charset utf8;

-- 插入数据
insert into my_enum values('男'),('保密'); -- 有效数据

-- 错误数据
insert into my_enum values('male'); -- 错误: 没有该元素

-- 将字段结果取出来进行+0运算
select gender + 0, gender from my_enum;

-- 数值插入枚举元素
insert into my_enum values(1),(2);
create table my_set(
hobby set('篮球','足球','乒乓球','羽毛球','排球','台球','网球','棒球')
--         足球                     台球    网球
-- 集合中: 每一个元素都是对应一个二进制位,被选中为1,没有则为0: 最后反过来
--          0      1       0         0      0       1       1     0
-- 反过来    01100010 = 98

)charset utf8;

-- 插入数据
insert into my_set values('足球,台球,网球');
insert into my_set values(3); 
端口号查询指令:show global variables like 'port'
image.png

整理不容易,觉得有用的小伙伴点个小红心就行😄,么么哒。

上一篇下一篇

猜你喜欢

热点阅读