mysql数据库的增删改查语法。

1.查看数据库(3种)
(1)show  databases;
(2)show  databases \G
(3)mysql  -e  ‘show  databases’ -uroot  -p123.com

2.创建数据库
语法:  create   database   数据库名;

3.查看当前所在数据库
语法:show  tables;

4.删除数据库
语法: drop  database  数据库名;

5.if子句
语法:drop  database  if exists  表名;(存在则删除)
语法:create   database  if   exists   表名;(不存在则创建)

6.创建表的语法:create   table  表明(文段名  类型);

7.查看表的结构  : desc  表名;

8.查看创建表时执行了那些命令: show  create  table  表名;

9.删除表 : drop  table  表命;   删除数据库:drop  database  数据库名;

10.修改表名称  alter
语法: alter   table  表名   rename  新表名;

11.修改表中的字段类型
语法: alter  table  表名  modify  修改名  类型;

扫描二维码关注公众号,回复: 15100538 查看本文章

12.修改表中的字段类型和字段名称
语法:alter  table  表名  change  源字段名  新字段  新类型;

13.再表中添加字段
语法:alter  table  表名  add  字段名  字段类型;

14.再表中指定位置添加字段
 第一行添加,语法:alter  table  表名  add  字段名  字段类型   first;
指定位置添加,语法:alter  table   表名   add  字段  字段类型   after  指定字段;

15.删除表中字段
语法:alter  table  表名  drop  字段名;

    关于表中的操作
1.插入记录
语法:insert  into  表名  values(字段值1,字段值2);

2.分开插入表记录
语法:insert  into  表命(字段1,字段2)values(字段值1,字段值2);

3.查询表中记录
语法:select  *  from  表名;

4.查看指定字段记录
语法:select  字段   from  表名;

5.查看其他数据库的表或不在本数据库上进行查看
语法:select  字段  from  数据库名.表名;

6.删除表中记录
语法: delete  from  表名  where  字段=字段值;

7.更新记录,update修改表中数据。
语法:update  表名  set  要修改的字段名  where  字段号;

    sql条件查询语句
1.去重查询
语法: select  distinct  字段  from  表名;

2.使用AND和OR进行多条件查询
语法:select  字段  from  表  where  条件   and  条件;(共同成立)
语法:select   字段   from   表   where   条件  or  条件;(其中成立一个即可)

3.mysql区分大小写查询binary。
mysql默认不区分大小写;binary区分大小写。
语法:select  字段  from  表  where  字段条件;(例如:where  name=‘qwe’或where  name=‘QWE’)

4.MYSQL查询排序
语法:select  字段1  字段2  from  表命  order  by  字段名  asc(desc);  (asc默认升序,desc降序)

5.mysql查询命令帮助
语法:help  需要查询的命令;

    mysql数据类型
1.int类型修饰符
unsigned  无符号整数,只能保存正整数;zerofill 修饰符,用0填充输出的值。
语法:create  table  表(字段  类型  unsigned或zerofill,字段  类型  unsigned  zerofill );

2.浮点型数据类型
Float表示单精度浮点数值,double表示双精度浮点数值,float和double是浮点型,decimal是定点型。
double和decimal数值类型,比float存储小数更精确。
语法:create  table  表( 字段  浮点类型(n,m));     (n,m)  n为整数位,m是小数保留位

3.字符串char和varchar
区别:
char需要指定字符串范围,0~255;char处理数据类型的速度快。
varchar字符串可变长,0~65535,除去起始和结束的3个字符;varchar使用更加灵活,占用的内存和硬盘空间少。

4.enum 枚举:只能取其中一个值;set:取多个值不能重复。

     mysql基础命令语句
1.修改数据类型,添加字段
  语法:alter  table  表名  add  字段名  列类型 [not null | null] [primary key] [unqiue] [auto_increment] [default varlue];
not  null非空,null为空; primartkey主键  ;unqiue唯一索引  ; auto_increment列值自动增长  ; default默认。

2.主键和唯一索引的区别:
主键是一种约束,唯一索引是一种索引,两者在本质上是不同的;
主键创建后一定包含一个唯一性索引,唯一性索引不一定就是主键;
唯一性索引列允许空值, 而主键列不允许为空值。

    常用select命令
1.当前日期和时间:select  now( );

2.当前日期:select  curdate( );

3.当前时间:select  curtime( );

4.当前数据库:select  database( );

5.当前用户:select  user( );

6.当前系统信息: select  variables;
语法:show  [global | sesslon]  variables  [like_or_where];

7.查看系统运行状态信息: show  processlist;
运行状态:show  [global | session]  status  [like_or_where];

    导入导出数据库mysqldump
1.导出数据库(备份)
语法:mysqldump  -u  用户名  -p密码   数据库名 > 导出的文件名

2.导入数据库(还原)
语法:mysql -u  用户名  -p密码   数据库名 < 导出的文件名    或  source   /root/数据库.表名

     mysql语句进阶
1.逻辑运算符
and  与   ; or  或   ;not  非
例如:select   字段  from  表名  where  条件( 例如price>40  and  price<60 );

2.算数运算符
=  等于  ; =!不等于  ; > 大于;  <  小于; >=  大于等于; <=小于等于
在where语句中not  in和in相反。
 语法 : select   字段   from  表名   where   条件;

3.排序
升序: order  by  ‘排序字段’ asc
降序: order  by  ‘排序字段’ desc
例如:select  price  from  books  where  price  in(30,40)  order  by  price desc; (在books表中按照价格30到40进行降序排列。

4.范围运算
Between......and... 什么到什么之间
Between....and....   可以使用>和<代替更加准确
例如:select  price  from  books  where  price   between  10  and  20;或 select  price  from   books  where   price   >30 or  price  <50;

5.模糊匹配查询
语法:字段  [not]like   '通配符';  %任意字符
例如:select  bname  from  books  where  bname  like ‘%程序%’;  在books表中查询名字是开头或结尾是以程序的书名。

     mysql子查询(把子查询的结果给外部查询使用)
1.普通查询
语法:select   字段  from  表  where  字段条件;

2.嵌套查询
语法:select  字段  from   表  where  字段=( select  字段  from  表  where  字段条件);
例如:select  bname,btypeid   from  books  where  btypeid=(select btypeid  from  category  where  btypename='平面');

3.limit限定显示的条目
语法:select  *  from  table  limit  偏移量,行数;

4.把子查询和限制条目,算数运算结合起来查询
1)嵌套子查询
例如:select  bname,price  from  books  where  price < (select  price  from  books  where  publishing="清华大学出版社"  order  by  price  limit 0,1);
2)不适用limit,all表示子查询中返回值中的最小值。
例如:select  bname,price  from  books  where  price < all(select  price  from  books  where  publishing="清华大学出版社");

5.多表连接查询
内连接:根据表中的共同字段进行匹配
外连接:左外连接、右外链接。

1)内连接
根据表中共同的字段进行匹配,将表中符合条件的记录进行连接。
语法:  select  字段  from  表1  inner  join  表2  on表1.字段=表2.字段;
例如:select  i.xh,i.xm,c.yw,c.shx  from  stu_info  i  inner  join  stu_chj  c  on  i.xh=c.xh;

2)外连接 (分为左外连接;右外连接)
左连接: select  字段  from  a表  left  join  b表  on  连接条件;    a主表显示指定字段内容,b从表

右连接:  select  字段  from  a  表  right  join  b  表  on  连接条件;  a是从表;b是主表,都显示。

6.聚合函数(执行特定功能的代码块)
1)sum ( )求和;语法:select   sum(字段)  from   表;

2)avg ( ) 平均值;  语法:select   avg(字段)  from   表   where   条件;

3)max( )最大值;语法:select    max(字段)   from   表 ;

4)min( )最小值;  语法:select   min(字段)   from   表;

5)count( ) 统计记录数;  语法:  select  count(*)   from   表;    select  count(distinct price)  from  books;去掉books表中重复的价格并统计。

7.算数运算
+    -    *   /
语法:update   表  set   条件   where   条件;

8.字符串函数
Substr(字段名,开始,结束) 截取
语法:select   substr(字段,开始,结束)   from   表   where  条件;

Concat(开始,分隔,结束)  拼接
语法:select  concat(字段,分割,结束)   from  表;

9.大小写转换
upper( )  大写;lower( )  小写
语法:select  upper[lower](字符)  from  表   where   指定条件;

Null和not  null的区别
1)字段类型是not null,为什么可以插入空值?
空值不占用空间;mysql中的null占用空间。
2)为什么not null的效率比null高?
Null不是空值需要占用空间,进行比较时null会参与字段的比较。
3)判断字段是否位空值时可以使用:select  *  from  表名  where  is  not  null;或select   *  from   表名   where  <>’’;

delete和truncate的区别
1)delete用于删除表中的数据,加where条件则删除匹配条件,不加则清空表;truncate清空表,不需要加where条件。
2)表中字段设置into_increment,delete不会清除自动增长的计数器;truncate则会清零自动增长的计数器。
3)delete删除操作会记录到bin-log日志中;truncate的删除操作则不会记录到bin-log日志中。

猜你喜欢

转载自blog.csdn.net/kking_Ran/article/details/124783401
今日推荐