一、连接服务器
mysql -h host -u username -p password;
//-h:连接服务器的ip地址及端口号,连接本机该参数可省略
//-u:用户名
//-p:用户名对应的密码
二、退出
quit/exit
三、常用语句及函数
select version(),current_date();
//查看数据库版本及当期日期
describe/desc tb_name;
//查看表结构
show index from tb_name;
//如果表有索引,生成有关索引的信息
right(str,n) left(str,n)
//从右往左在字符串str中截取n个长度的字符,即
select right(’2021-08-19‘,6);结果返回’-08-19‘
YEAR(date) MONTH(date)函数会返回日期对应的年和月
date_add(date,interval n day/month/year)
//在原日期date的基础上增加n天/月/年
四、创建并使用数据库
4.1、创建数据库
show databases; //查看服务器上的所有数据库
create database db_name character set utf8;
//创建一个名称为db_name,编码格式为utf8的数据库
use database_name; //使用数据库
grant authority on dbname.tb_name to 'username'@'client_host'
//为用户授予操作数据库中tb_name的权限
grant authority on dbname.* to 'username'@'client_host'
//为用户授予操作数据库的权限
4.2、创建数据表
show tables;
//选择数据库后查看数据库中的所有表
create table tb_name(字段名,字段类型,约束);
create table pet(name varchar(20),owner varchar(20),species varchar(20),sex char(1),birth date,death date);
//创建一个宠物表,表存储的信息有名字,主人,种类,性别,出生和死亡日期
describe tb_name;
//查看表结构
4.3 填装数据
load data local infile '/path/文件名' into table tb_name character set utf8 fields terminated by ‘\t’ lines terminated by '\n';
//将文本文件的内容填充到表中,需要开启local_infile模块,并且登陆时为 mysql --local-infile=1 -u username -p password
// character set utf8 设置编码格式为utf-8,避免中文乱码
//fields terminated by ‘\t’ 设置字段的分隔符为制表符
//lines terminated by '\n' 设置行之间的分隔符为'\n'
insert into pet values ('Puffball','Diane','hamster','f','1999-03-30',NULL);
//向pet表中插入数据,数据值与列名相对,空值用NULL代替
insert into pet values ('Puffball','Diane','hamster','f','1999-03-30',NULL),('Puffball','Diane','hamster','f','1999-03-30',NULL);
//使用insert语句同时插入多条数据
insert into pet(name,owner,sex) values('Dantin','Vejer','f');
//向指定列中插入数据,未指定的列值用NULL代替
4.4、查询表中数据
select * from tb_name;
//查询表中所有内容
select *字段名1,字段名2,字段名3... from tb_name;
//查询表中字段内容
select distinct * from tb_name;
//关键字DISTINCT可以过滤重复记录
select * from tb_name where 字段名=‘值’;
//查询字段名=‘值’的全部数据
select * from tb_name where 字段名 like 'x%';
//查询字段名中值为’x‘开头的任意长度的所有数据;"%"匹配任意数目字符(包括0)
select * from tb_name where 字段名 like '%x%';
//查询字段名中值中包含’x‘的任意长度的所有数据;例如"wwxw"
select * from tb_name where 字段名 like '_x'; "_"匹配任意单个字符
//查询字段名中值为’x‘结尾的长度为2的所有数据;
select * from tb_name where 字段名1=‘值1’ and 字段名2=’值2‘;
//查询字段名1=’值1‘且字段名2=’值2‘的全部数据
select * from tb_name where 字段名1=‘值1’ or 字段名2=’值2‘;
//查询字段名1=’值1‘或字段名2=’值2‘的全部数据
select * from tb_name where 字段名 IS NOT NULL;
//查询所有字段名的值不为空的数据,值为NULL的数据不可以使用>,<,<>,=等操作符,应该使用IS NULL 和 IS NOT NULL操作符
**and和or可以混合使用,and的优先级高于or**
select * from tb_name where 字段名>'值'
//查询字段名>’值‘的全部数据
select * from tb_name order by [binary]字段名 asc/desc;
//将查询结果按照字段名来进行asc(由小到大)或desc(由大到小)的顺序排序,使用binary参数可以将大写类型和小写类型的字符进行区分,另外如果排序的字段中有的值为NULL,则NULL正序排序中出现在最前面
delete from tb_name;
//删除表中所有数据,不删除表及表结构
update tb_name set 字段名1='值1' where 字段名2='值2';
//通过定位字段名2=‘值2'将字段名1的值修改为‘值1’
Mysql基础一
最新推荐文章于 2024-09-12 01:15:37 发布