MySQL基础笔记

本文摘自https://blog.csdn.net/u010947693/article/details/54863726,仅供学习参考使用

 

连接数据库: 一般都是一个API函数(不同语言不同,但参数相似)XXX_connect( server,user,passwd,newlink,clientflag);

创建与删除一个数据库 在PHP是使用mysql_query(sql:是SQL的查询命令,connection:可选为SQL标识符)

选择数据库:mysql_select_db(dbname:数据名,connection:可选规定MySQL连接)

MYSQL的数据类型有 1,2,3,4,8,字节的整型,还有浮点,双精型。

创建数据表 CREAT TABLE tablename(colum_name :属性名 column_type:属性类型);

删除数据表 DROP TABLE tablename;

插入数据: INSERT INTO table_name(field1,field2,field2 ....)VALUES(value1 ,value2,value,“value3””)value就是数据的值。

查询数据: SELECT column_name,column_name FROM tablename [WHERE Clause][OFFSET M][LIMIT N]

 

  • 查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。
  • SELECT 命令可以读取一条或者多条记录。
  • 你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据
  • 你可以使用 WHERE 语句来包含任何条件。
  • 你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。
  • 你可以使用 LIMIT 属性来设定返回的记录数。

WHERE语句:

  • 你可以使用AND或者OR指定一个或多个条件。
  • WHERE子句也可以运用于SQL的 DELETE 或者 UPDATE 命令。
  • WHERE 子句类似于程序语言中的if条件,根据 MySQL 表中的字段值来读取指定的数据。
MYSQL LIKE语句:在使用SELECT时

WHERE 子句中可以使用等号 (=) 来设定获取数据的条件,如 "runoob_author = 'Sanjay'"。

但是有时候我们需要获取 runoob_author 字段含有 "jay" 字符的所有记录,这时我们就需要在 WHERE 子句中使用 SQL LIKE 子句。

SQL LIKE 子句中使用百分号(%)字符来表示任意字符,类似于UNIX或正则表达式中的星号 (*)。

如果没有使用百分号(%), LIKE 子句与等号(=)的效果是一样的。

例:SELECT field1,field2,....fieldN table_name1,table_name2.... WHERE field1 LIKE condition1 [AND [OR]] field2 = "someone"

 
例如:SELECT * FROM tableA where name = “xy”
 
修改或者更新数据库中的数据使用UPDATE来操作
 UPDATE查询: UPDATE table_name SET field1 = new- value1,field2 = new -value2 [WHERE Clause] 
 
DELETE语句从数据表中删除数据
DELETE FROM table_name[ WHERE Clause]
  • 如果没有指定 WHERE 子句,MySQL表中的所有记录将被删除。
  • 你可以在 WHERE 子句中指定任何条件
  • 您可以在单个表中一次性删除记录。
排序 使用ORDER BY字句啦设定想按那个字段那种方式进行排序,在返回搜索结果。SELECT field ,field2,...FROM tablename1,tablename2, ORDER BY field1,field2 ..[ASC or DESC]
  • 你可以使用任何字段来作为排序的条件,从而返回排序后的查询结果。
  • 你可以设定多个字段来排序。
  • 你可以使用 ASC 或 DESC 关键字来设置查询结果是按升序或降序排列。 默认情况下,它是按升序排列。
  • 你可以添加 WHERE...LIKE 子句来设置条件。
 
分组:使用 GROUP BY  :SELECT column column_name,functuon{column_name] FROM tabel_name WHERE column_name operator value GROUP BY column_name
函数我们可以使用COUNT , SUM, AVG等。
 
MYSQL连接的使用: 就是从多个数据表中读取数据,使用JOIN。在SELECT,UPDATE 和 DELETE。
INNER JOIN (内连接):获取两个表中字段匹 配关系的记录
LEFT JOIN 左连接:获取左表的所所有记录。
RIGHT JOIN:获取右表的所有记录
 
ALTER修改数据表名或者修改数据表字段:
增加或删除ALTER TABLE tablename DROP(ADD) 字段
修改 : ALTER TABLE tablename MODITY 字段名  类型
     ALTER TABLE  tablename CHANGE  字段名  新字段名 类型
 
创建索引  CREAT INDEX indexname ON mytablename(username(length)); 可以在创建表的时候在字段里创建。使用ALTER命令修改
ALTER TABLE tablename  ADD  PRIMARY KEY UNIQUE  IDEX ...
 
临时表:用于保存临时数据,连接关闭就会自动删除表:CREAT TEMPORARY TABLE tabename 要删除的话跟普通表一样。
复制表:使用 SHOW CREAT TABLE tablename获取创建数据表语句
  • 使用 SHOW CREATE TABLE 命令获取创建数据表(CREATE TABLE) 语句,该语句包含了原数据表的结构,索引等。
  • 复制以下命令显示的SQL语句,修改数据表名,并执行SQL语句,通过以上命令 将完全的复制数据表结构。
  • 如果你想复制表的内容,你就可以使用 INSERT INTO ... SELECT 语句来实现。
序列的使用由于一个数据表自由一个字段自增主键,如果想其他字段也自增就使用MySQL序列来实现
MySQL中最简单使用序列的方法就是使用 MySQL AUTO_INCREMENT 来定义列在字段后
获取AUTO_INCREMENT值

在MySQL的客户端中你可以使用 SQL中的LAST_INSERT_ID( ) 函数来获取最后的插入表中的自增列的值。

在PHP或PERL脚本中也提供了相应的函数来获取最后的插入表中的自增列的值。

统计重复数据:
统计所有字段 SELECT COUNT(*)as  param1,param2,param3
过滤重复数据:如果你需要读取不重复的数据可以在 SELECT 语句中使用 DISTINCT 关键字来过滤重复数据。 SELECT DISTINCT  param1 ,param2
删除重复数据:
posted @ 2018-06-04 17:50  请叫我卫辰大哥哥  阅读(143)  评论(0编辑  收藏  举报