MySql数据库命令总结

数据库操作命令,表操作命令,修改表结构命令,数据操作命令,数据查询操作命令


一、数据库操作命令

1.查看当前mysql的所有数据库

show databases;

2.创建数据库

create database;

3.使用该数据库

use 数据库名;

4.删除数据库

drop database 数据库名;

 5.查询当前所在数据库的命令

select database;

二、表的操作命令

1.创建新表命令

create table 表名(
    	字段名 类型  <约束>,
		字段名 类型  <约束>,
		......
		字段名 类型  <约束>
	);
列级约束:
primary key 主键
not null 非空
auto_increment 自增长
enum('男','女') 值只能是男女 其他报错
unique 唯一性约束
default 18 默认值约束
表级约束:在创建表字段的最下面 constraint 约束名 约束类型(字段名)
添加外键:constraint 外键约束名 foreign key(外键的名字) references 外键所在的表格(外键所在的列) 

2.查询当前库中所有表名称的命令

show tables;

3.查询当前表结构的命令

desc 表名称;

4.查询表详细结构的命令

show create table 表名称;
或
show full columns from 表名称;

5.删除表的命令

drop table 表名;
drop table if exists 表名称;

if exists是判断是否存在该表,若存在则进行删除,若不存在也不会报错,不是非必须写,但是不写的话,删除一个不存在的表就会有报错。删除表的时候可以一次性删除一个,也可以一次性删除多个表。 

当要删除的表有外键时,要先删除外键关联的表。

#Cannot delete or update a parent row: a foreign key constraint fails

#country被外键关联,不能删除,先删除关联country的表

drop table country;

6.更改表结构

6.1向表名中增加列名

alter table 表名 add column 列名 字段类型;// 
alter table student add column sex char(1);
更改表student,添加列列名是sex,类型是char(1);

6.2删除表中某一列

alter table 表名 drop column 列名;
alter table student drop column age;
更改表student,删除列,列名是age;

6.3修改表中某个列的字段类型

alter table 表名 modify column 列名 字段类型;//
alter table student modify column sex char(2);
更改表student,修改列,列名是sex,更改类型为char(2)

6.4更改表的名字

alter table 表名rename to 新表名;// to可以省略
alter table student rename to stu;
更改表student,将student表名更改为stu;

 6.5更改列名

alter table 表名 change 原有列名 新的列名 新列名字段类型;
alter table stu change name xingming varchar(10);
更改表stu,将列名name改为xingming,字段类型varchar(10)

7.复制表

复制一个表结构的实现方法有两种。
方法一:在create table语句的末尾添加like子句,可以将源表的表结构复制到新表中,没有数据,语法格式如下。主键约束自动增长都有,外键约束没有。

create table 新表名  like 源表
create table emp1 like emp;//根据emp表创建emp1表

方法二:在create table语句的末尾添加一个select语句,可以实现表结构的复制,甚至可以将源表的表记录拷贝到新表中。下面的语法格式将源表的表结构以及源表的所有记录拷贝到新表中。主键约束,自动增长和外键约束就没有了 

create table 新表名 select * from 源表
create table emp2 select * from emp;//根据emp表创建emp2,并且将数据复制

8.修改表约束条件

添加约束条件
向表的某个字段添加约束条件的语法格式如下(其中约束类型可以是唯一性约束、主键约束及外键约束)

alter table 表名add constraint 约束名 约束类型(字段名)
增加主键约束
alter table 表名 add constraint 约束名 primary key(列名);
增加唯一性约束:
alter table 表名 add constraint 约束名 unique (列名);
增加外键约束   foreign key   
alter table 表名 add CONSTRAINT 外键约束名 FOREIGN KEY(外键名) REFERENCES 外键所在表(外间所在列名); 

 三、数据操作命令

1.增加数据命令

插入部分列

insert into 表名(列名1,列名2,列名3.。。。)values (值1,值2,值3.。。。)

插入所有列

insert into 表名values(值1,值2,值3.。。)

 每次插入多条记录-----批量插入

insert into 表名[(列名……)] values (第一组值), (第二组值), (第三组值)......;

值:数字,直接写值就可以,

字符串:'值'

空:    null

sysdate() #得到系统当前时间

日期date: ‘yyyy-MM-dd’

datetime  ‘yyyy-MM-dd HH:mm:ss’

timestamp ‘yyyy-MM-dd HH:mm:ss’

time     ‘HH:mm:ss’

如果timestamp 和datetime中插入null,  timestamp中插入的还是系统的当前时间。Datetime中插入的是空。

 2.删除数据命令

delete from 表名 where 条件
truncate from 表名 where 条件

 清除和删除的区别:(面试题)
删除(delete):
可以添加where条件删除指定数据
数据可以恢复,通过回滚rollback;        
为保证数据恢复,能够记日志,速度慢
清除(truncate):
不能添加where条件,只能全表删除
数据不可以恢复。        
没有记日志功能,速度快

3.修改数据命令

update 表名
set 列名1=值1(, 列名2=值2,.......)
where 条件语句

4.查询where后面的介绍

(1)查询where 等值
where 字段名=值
(2)查询where 比较
where 字段名>值
(> , < , >= , <= , !=)
(3)查询 where in
在in()括号集合里的所有记录
where  not  in
不在in()括号集合里的所有记录
(4)查询where like模糊查询
like 部分匹配   not like 不匹配
%:可以匹配0个或多个字符
_:可以匹配一个字符
转义:利用“\”转义,这时候\后面的字符转成本来的含义。例如\_
(5)查询where or
只要满足一个条件的记录 等价于||
(6)查询where and
满足所有条件的记录
(7)查询where between and
查询在and左右之间的记录 [左 右] 都是闭区间
(8)order by排序
按照某一个列进行排序,默认asc升序,desc降序
列名可以用select后面列的序号
(9)group by分组查询
语句执行顺序:


Select        …..    5.
From         …..    1.
Where      ……   2.
Group by    …..  3.
having      ….     4.
Order by    ….    6
Limit       …        7

(10)limit 0,n
获取前n条数据,用在分页
(11)is null ,is not null
判断是否为空

 四.常用的函数

ABS(x):返回x的绝对值;
SQRT(x):返回非负数x的平方根;
PI():返回圆周率;
MOD(x,y)或%:返回x被y除的余数;
CEIL(x)、CEILING(x):返回大于或者等于x的最小整数值;
FLOOR(x):返回小于或者等于x的最大整数值;
ROUND(x,y):返回保留小数点后面y位,四舍五入的整数;
TRUNCATE(x,y):返回被舍弃的小数点后y位的数字x;
RAND():每次产生不同的随机数;
SIGN(x):返回参数的符号;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值