mysql 基础语法

(1)-uroot -p 或者mysql -uroot :连接数据库

(2) mysql select  version();  :查看安装mysql的版本号status:查看安装mysql的版本号

(3) show  databases;  :查看当前用户下的数据库。

(4) create  database 数据库名;  :创建数据库

(5) drop  database数据库名;  :删除数据库

(6) select  database();    :查看当前数据库

(7) use  数据库名;    :使用当前数据库Database changed

(8) create  table表格名(id int,name varchar(10),sex char(10),salary decimal(6,2 )) table  表格名;  在当前数据库创建表格

(9) decimal(6,2 )6为有效长度 2为小数个数

(10) drop table 表格名;      删除在当前数据库创建表格

(11) show  tables;  :查看当前用户下的数据库。

(12) desc  表格名;    在当前数据库创建表格的格式

(13) insert 表格名values(相应的字段名 字段值,字段名 字段值);在表格中插入内容(有序的)

(14) insert  表格名(字段名,字段名) values(字段值字段值);在表格中插入内容(无序序的)

(15) insert 表明 values(字段值,字段值),( 字段值,字段值); 在表格中插入内容

(16) select  *  from  表格名;  查看表格内容

(17) select  *  from  表格名 where 字段名=字段值;  按条件查看表格内容

(18) select  *  from  表格名 where 字段名=字段值 and  字段名=字段值;  按多个条件查看表格内容用and链接

(19) select  字段名,字段名 from 表格名 ;    按多个条件查看表格内容

(20)

(21) select  字段名,字段名 from 表格名 where字段名=(》)字段值    按多个条件查看表格内容

(22) delete from 表格名 where字段名=字段值;  删除某一条记录(根据where值来判断)

(23) delete from 表格名 where字段名=字段值 and 字段名=字段值;  删除多条记录用and链接

(24) delete from 表格名;  清楚所有内容(只删除表格记录delete但表格还在,,,drop删除表格(格式,记录))

(25) update 表格名 set 字段名=字段值(改后的) where字段名=字段值(原来的);改一条记录

(26) update 表格名 set 字段名=字段值,字段名=字段值(改后的) where字段名=字段值(原来的)(一个与其他不同的);改一条记录

(27) update 表格名 set 字段名=字段值(改后的) where字段名=字段值(原来的);改一条记录

(28) update  表格名 set字段名=字段值(新改的); 把所有字段名改为这个字段值

(29) delete  from 表格名 wher e 字段名 is 字段值(null)

(30) alter  table 表格名 add  column  字段名  格式(int  ,char(10))添加列

(31) alter table 表格名 drop  column  字段名;删除列

(32) alter  table  表格名 change  id(old原来的)  num(now新的字段名)  int;修改列明和数据类型

(33) alter  table  表格名 change  num  num  decimal(10,1);修改列数据类型

(34) alter  table  表格名 rename 表格名2;改表名  修改表名

(35) create  table  复制后的表格名 select * from 原来的表格名;  复制表格

primary  key 主键约束(唯一,)不可以为空null

auto_increment(自增长)

unique  唯一约束  可以为空null

not  null  非空值

datetime 修饰类型(int char)

外键  foreign  key (当前表(子表)的字段值) references  dept (父表的字段值);

{必须先创建外键关系表(父表)。  【 外 键 】

想在当前的表(子表)中插入记录,必须先在父表中先插入记录,后在子表中插入。删除记录要先删除子表,在删除父表}

(36) count(字段名)  统计值的个数  select count(字段值) from 表格名;(对空值不统计)

(37) max(字段名);  字段名下所有值的最大值

(38) min(字段名);  字段名下所有值的最小值

(39) vag(字段名);  字段名下所有值得平均值

(40) Sum(字段名);  字段名下所有值得和

(41) Select  count(字段名) from 表名 group  by  dep;把字段名分组 字段值相同的是一组

(42) Select 字段名,count(字段名(根据什么条件筛选)) from 表格名 group by 字段名(根据什么分组) having  count(字段值)>数值;

(43) Select  distinct  字段名  from  表名;  去重复的字段值

(44) order  by 排序 默认升序(select empname,salary from  empty  order  by  salary  desc;)

(45) Select * from 表格名 order  by 字段值 asc;升序排练

(46) Select * from 表格名 order  by 字段值 desc;降序排练

(47) Select * from 表格名 limit 页数,每页的个数;{页数从0开始(页数-1)*2} 查找一个页的内容

(48) Select  empname ,emp.deptno,deptno  from  emp  join  on  emp.deptno= dept.deptno;  内连接  只有匹配上的记录才输出

(49) Select enpname,emp.deptno,dept.deptno,deptname  from  emp  left  join  dept  on  emp.deptno= dept.deptno;  左内连接          用  emp主表主表中所有的记录都输出  匹配不上的null补齐

(50) Select empname,emp.deptno,dept.deptno,deptname  from  emp  rigth  join  dept  on  emp.deptno= dept.deptno;  右内连接          用  emp主表主表中所有的记录都输出  匹配不上的null补齐

(51) 查询语句的执行语句    fromonjoinwheregroupbyhavingselectdistinctorder bylimit

(52) select empname,empno from emp where empname like 'zhang%';  模糊查询  like %任意字符

(53) select empname,deptno from emp where deptno in (1002,1003);  int(值,值,值。。。)中任意一个

(54)数据库备份

进入cmd

导出所有数据库:输入:mysqldump -u [数据库用户名] -p -A>[备份文件的保存路径]

导出数据和数据结构:输入:mysqldump -u [数据库用户名] -p [要备份的数据库名称]>[备份文件的保存路径]

例子:mysqldump -u root -p test>d:\test.sql

注意:此备份只备份数据和数据结构,没有备份存储过程和触发器

导出数据库中的Events

输入:mysqldump -u [数据库用户名] -p -E [数据库用户名]>[备份文件的保存路径]

导出数据库中的存储过程和函数

mysqldump -u [数据库用户名] -p -R [数据库用户名]>[备份文件的保存路径]

恢复备份文件:

进入MYSQL Command Line Client

先创建数据库:create database test 注:test是创建数据库的名称

再切换到当前数据库:use test

再输入:\. d:/test.sql 或 souce d:/test.sql

推荐阅读更多精彩内容