链接认证
mysql.exe -h localhost -p 3306 d-u root -p
查看所有数据库
show databases;
断开连接
exit
quit
\q
双中划线+空格:注释(单行注释),也可以使用#号
创建数据库
create database mydb charset utf8;
创建关键字数据库
create database database charset utf8; --报错
使用反引号
create database 'database' charset utf8;
创建中文数据库
create database 北京 charset utf8;
如果报错解决方案:告诉服务器当前中文的字符集是什么
set name gbk;
create database 北京 charset utf8;
查看所有数据库
show databases;
创建数据库
create database informationtest charset utf8;
查看以information_开始的数据库(_需要被转义)
show databases like 'information_%';--相当于information_%
show databases like 'information\_%';
查看数据库的创建语句
show create database mydb;
show create database 'database';--关键字需要使用反引号
修改数据库informationteest的字符集
alter database informationteest;
删除数据库
drop database informationteest;
创建表
create table if not exists student(--显示地讲student表放到mydb数据库下
name varchar(10),
gender varchar(10),
number varchar(10),
age int
)charset utf8;
创建数据库表
进入数据库
use mydb;
创建表
create table class(
name varchar(10),
room varchar(10)
)charset utf8;
查看所有表
show tables;
查看以s结尾的表
show tables like '%s';
查看表的创建语句
show create table student;
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;
给学生表增加ID,放到第一个位置
alter table my_student
add column id int
first;
将学生表中的number学号段变成固定长度, 且放到第二位(id之后)
alter table my_stuber modify number char(10) after id;
修改学生表中的gender字段为sex
alter table my_student change gender sex varchar(10);
删除学生表中的age年龄字段
alter table my_student drop age;
删除数据表
drop table class;
插入数据
insert into my_student
valuse(1,'bc20200001','Jim','male'),
(2,'bc20200002','Lily','female');
插入数据:指定字段列表
insert into my_student(number,sex,name,id) values
('bc20200003','male','Tom',3)
('bc20200004','female','Lucy',4)
查看所有数据
select * from my_student;
查看指定字段、指定条件的数据
select id,number,sex,name from my_student
where id=1;--查看满足id为1的学生的信息
更新数据
update my_student set sex='female' where name='Jim';
删除数据
delete from my_student where sex='male';
创建整形表
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
valuse(255,10000,100000,1000000);-- 错误:超出范围
给表增加一个屋符号类型
alter table my_int add int_5 tinyint unsigend; -- 无符号类型
插入数据
insert into my_int
values(127,0,0,0,255,255);
显示宽度为2,0填充
alter table my_int add int_7 tinyint(2) zerofill;
插入数据
insret into my_int
values(1,1,1,1,1,1,1,1,11,);
insert into my_int
values(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);
insert into my_float
values(123456789,12345678.90,1234.22);--无效数据:类型限定
insert into my_float
valuse(3e38,3.0le7,1234.567);
insert into my_float
valuse(99999999999,999999999999.99,999.99);--后俩个死最大值
超出长度插入数据
insert into my_float
values(123456,1234.1123456789,123.9876543);--最后一个整数部分超出
创建定点数表
create table my_decimal(
f1 float(10,2),
d1 decimal(10,2)
)charset utf8;
插入数据
insert into my_decimal
values(12345678.90,123456678.90); -- 有效数据
insert into my_decimal
values(1234.123456,1234.123456);-- 小数部分可以超出长度
查看警告
show warnings;
插入数据
iunsert into my_decimal
values(9999999.99,9999999.99);--没有问题
insert into my_decimal
values(999999999.99,99999999.999);-- 进位超出范围