sq 语句
【Sql分类】
DDL
create(创建) drop(删除) alter(修改)
DML
insert(插入) update(修改) delete(删除)
DQL(重点)
select
DCL
grant(授权) revoke(跟授权相反)
DTL (事务)
bengin(开始) commit(提交) rollback(回滚)
CentOS7 : 启动数据库 systemctl start mysql
查看是否启动 ps aux | grep mysql
【数据连接】第一种方式(推荐)
msyql -uroot -p
密码:如果没有密码直接回车
退出 : quit
第二种进入数据库的方式
mysql -uroot -pkungezuishuai 不推荐使用
第三种方式
mysql -hlocalhost -uroot -p
清空dos命令
cls
\h 帮助命令
\g 执行当前命令 直接分号一样
\c 结束当前的命令
【查看数据库】
show databases
【创建库】
CREATE DATABASE IF NOT EXISTS 库名;
create database 库名
【删除库】
drop database 库名
【查看你当前所在的库】
select database()
【查看当前库下面有哪些表】
show tables;
【创建表】
create table 表名(字段1 类型(长度) , 字段2 类型(长度)...........)
【数据类型】
整型
tinyint
int
浮点类型
float(m, d)
double(m, d)
字符串类型 (重点)
text
char 定长
varchar 不定长
【删除表】
drop table 表名
【查看表结构】
desc 表名
【查看建表语句】
show create table 表名
【修改表字段的值】
alter table 表名 modify 字段 类型
alter table 表名 change 你的表的原来的字段 你要修改成为的字段名 类型(长度)
【删除表字段】
alter table 表名 drop 你要删除的字段
【插入新的字段】
alter table 表名 add 你要添加的字段
【插入字段顺序的问题】
after 在谁谁之后插入
alert table 表名 add 你要插入的字段 类型(长度) after 在哪个字段后面
first 插入最前面
alert table 表名 add 你要插入的字段 类型(长度) first
【修改表名字】
alter table 原来的表名字 rename 新的表名字
【修改表字段顺序】
alter table 表名 modify 原来的字段类型(长度) first 或者 after 在哪个字段后面
【索引】
1、主键名索引
alter table 表名 add primary key(你要给哪个字段添加)
2、唯一索引
alter table 表名 add unique(你要给哪个字段添加)
3、普通索引
alter tale 表名 add index(你要给哪个字段添加);
4、全文索引 整型不能用
alert table 表名 add fulltext(你要给哪个字段添加);
【插入数据】
第一种插入数据的方式
insert into 表名 values(值1,值2,值3........)
第二种插入数据的方式(推荐使用)
insert into 表名 (字段1 , 字段2 , 字段3 。。。。) values(值1,值2,值3.。。。。)
第三种插入方式(多条数据插入。批量插入数据)
insert into 表名(字段1,字段2,字段3.。。。。) values(值1,值2,值3.。。。),(值1,值2,值3.。。。),(值1,值2,值3.。。。)......
*AUTO_INCREMENT 如果你设置了自动增长,每次会在原来的基础上加1**
*默认值:如果你设置了默认值,你插入数据的时候没有填值,会用的你 默认值 你填了用你的值
【删除数据】
注意:你在做删除操作的时候谨慎在谨慎,一般情况下不删除数据,一般做伪删除(假删除)-》修改
删除的时候一定要加上条件,测试你的sql语句确定没有问题再删除
delete from 表名 where 条件
【修改数据】
update 表名 set 原来的字段 = 你想要的值 where 条件 [注意:条件一定要加上]
【重点中的重点】--查询
* 号一般情况不用 在工作当做或者开发过程中 如果你想用什么数据就查询某个特指的字段
1、根据你特指的某一个字段去进行查询
select 字段1,字段2,字段3 from 表名
2、去除重复值的查询方式
select distinct(你要去重的哪一个字段) from 表名
3、配合where条件来使用
select 字段1,字段2,字段3 from 表名 where 条件
4、查询在什么什么区间分为之内 between and
select 字段1,字段2.。。 from 表名 where 字段 between 条件1 and 条件2;
5、查询配合or的用法
select 字段1 , 字段2.。。 from 表名 where 条件 or 条件2 ;
6、不等于
select count(*) username from 表名 where 条件 != XXXX;
7、在什么什么里面查询
select 字段1 , 字段2 from 表名 where 字段 in(条件);
8、模糊查询 like like 什么情况下使用索引 ???
select * from 表名 where 字段 like ‘%’
9、配合and使用
select * from 表名 where 条件1 and 条件2;
10、排序 升序
select * from 表名 order by(字段) (如果说你后面什么都不加的情况下默认是升序)
||
select * from 表名 order by (字段) asc;
11、降序
select * from 表名 order by(字段) desc
12、取出来几条数据
select 字段1,字段2.。。 from 表名 limit 0 , 5 这是5叫做偏移量
//只有通过它才可以实现分页
第一页
select * from 表名 limit 0,5;
第二页
select * from 表名 limit 5 , 5、
第三页
10 , 5
第四页
15 , 5
$limit = (n-1)*偏移量 , 5
select * from bbs_user limit $limit;