此文对应的是mysql 最基本的 增、删、改、除。
1. 连接数据库
语法格式:
mysql [-h host] -u用户名 -p密码 [数据库名称]
说明:
-h 主机,默认连接localhost,可以省略。
-u 连接数据库的用户名称
-p 密码
mysql -uroot -p #本地登陆
mysql -h 10.10.2.100 -u dev -p
mysql -h 10.10.2.100 -u dev2 -p test
2.mysql命令:
客户端命令:可以通过hlep命令来查看得到
服务端命令:发送到mysql服务器后端执行的sql语句,默认以分号为语句的结束符。
3. 常用的mysql客户端命令:
1.delimiter (\d) Set statement delimiter. ##设置语句的结束符 ,语法格式:delimiter //
储存过程中常用
2. source (\ .) Execut e an SQL script file. Takes a file name as an argument. ##执行mysql脚本:source sql脚本.sql
往数据库导入或恢复数据的时候使用。
3.status (\s) Get status information from the server. ##获取服务器状态信息。
4.system (!) Execute a system shell command. ## 执行系统中的shell命令,语法格式: system ls;
5.tee (\T) Set outfile [to_outfile]. Append everything into given outfile.
6.use ## 进入数据库,改变数据库。
7.ego (\G) Send command to mysql server, display result vertically. ##以竖排方式友好显示结果
mysql的帮助命令;
help 或 ?
help 命令
4.常用的查看命令:
1.查看服务器状态信息;
status
2.查看当前数据库的版本:
starus
select version();
3.查看当前登陆的用户:
select user();
4.查看所有的数据库:
show databases;
5.查看当前库中所有的表:
show tables;
show full tables; #查看表的类型。
6.查看当前使用的数据库:
select database();
7.查看数据库的存储引擎:
show engines\G;
8.查看系统变量:
show variables\G;
show variables\G like '%...%'; #
5.建库:
语法格式:
create database 库名 [指定选项];
6.建表:
语法格式;create table 表名 (
字段1 字段的类型(字段长度),
字段2 字段的类型(字段长度),
字段3 字段的类型(字段长度)
);
eg: create table stu(
name varchar(20), ## varchar 可变的字符串
age int, ## int 默认
sex char(2) ## char 字符串
);
7.查看表:
1.查看表结构:
desc 表名;
2. 查看表的创建:
包括表的创建语句、存储引擎、字符集、主外键、索引。
show create table 表名;
3.查看表的属性;
show table status from 库名 like '%表名%';
包括表的名称、创建时间、更新时间、限制时间、引
-
查看表的内容;
select * from 表名;(学习环境下执行)
8.insert语句:
用来向表中插入数据:
语法格式:
格式1:
insert into 表名 values(值1、值2、值3)
特点:要按照字段全部插入对应的值。插入的字段要和表中的字段一致,
格式2:
insert into 表名(列1、列2、列3) values(值1、 值2)
特点:可以给指定的字段插入数据
9.select语句:
1.查询所有数据:
select * from 表名;
*表示所有的列
2.查询特定的列:
select 列名1,列名2, from 表;
3.查询特定的行:
select 列名 from 表名 where 列 运算符 值;
eg:select *from stu where age <=20;
4.select count 查询表的记录或行的数目:
select count(*) from 表名;
特定查找:select count(*) from 表名 where 条件;
5.select distinct 去重:
用来返回唯一不同的值
语法格式:select distinct 列名 from 表名;
1)去掉某列的重复值
select distinct 列名1 from 表名;
eg:select distinct age from stu;
2)查询所有信息并去掉重复值:
select distinct * from 表名;
eg; select distinct * from stu;
6.and 和 or 运算;
and : select * from stu where age=18 and sex='女';
or: select * from stu where age=18 or sex='女';
and 和 or 结合起来使用: 通过使用()
select 列 from 表 where (字段1 运算符 值 and 字段2 运算符 值) or 字段3 运算符 值;
select 列 from 表 where (字段1 运算符 值 or 字段2 运算符 值) and 字段3 运算符 值;
7.order by 排序
asc 升序 默认按照升序排列。
desc 降序 :select name,age from stu order by age desc;
语法格式:select 列名称 from 表 order by 字段 {desc|asc}
8.区间查询:
语法结构
select * from 表名 where 条件字段 between '区间开始' and '区间结束';
10.sql支持的运算符:
=
!= <> 不等于操作符
between 在某个范围之内,一般和and 结合起来使用
like 模糊匹配
is 可以用在和null的比较运算中。
<=>安全等于
in in(1111,222,333)
11.update 语句
update 语句用于修改表中的数据。
语法格式;
update 表名 set 字段1=新值,字段2=新值,.... where 条件 [order by] [limit 行数];
12.delete 语句
delete 语句用来删除表中的记录
语法格式;
删除符合条件的数据:
delete from 表名 where 条件字段 ;
删除全部数据:
delete from 表名;
表还在,表的结构还在,只是里面的数据没了。
###备份表的信息:
create table 新表名 like 原表名; ##复制表结构
insert 新表名 select * from 原表名; ##复制表内容