mysql的基本用法

创建数据库:create database [if not exist]name [character set 编码方式 collate 校对规则]
显示库的创建信息:show create database name
数据库的删除:drop database [if exist]name
备份数据库:mysqldump -u用户名 -p数据库名>(路径)文件名.sql(windows命令、脚本文件,要退出sql命令窗口quit)
数据库恢复(1):Source 文件名.sql(sql命令)
          1、创建库 create database name;
          2、恢复数据  Source (加路径)文件.sql
数据库恢复(2):(上面步骤2改为)mysqldump -u用户名 -p数据库名<(路径)文件名.sql(windows命令、脚本文件,要退出sql命令窗口quit)
查看表的结构:desc table_name;
更改表的名字:rename table table_name to new_name;
更改表的列名:alter table table_name change column name new_name 类型;
1、插入失败的解决方案:
show variables like ‘chara%‘

set character_set_client=gb2312

显示失败后的解决方案:set character_set_results=gb2312(只对这次有效窗口关闭后失效,永久有效应该改配置文件)
修改表中数据:update table_name set col_name=value where …;
删除一条记录:delete from table_name where …;
             不能删除某一列的值,也不能删除表;删除时应注意与其他表的参照完整性问题
truncate 也可以删除表中的记录(先摧毁表再重建表的结构)
查询语句:select [distinct](过滤掉重复数据) col1,col2 from table_name;
         可以多数据进行运算:select col_name+10 from table_name;select(col1+col2+col3)from table_name
         使用别名进行显示:select(col1+col2+col3) as 总数 from table_name(不用as也可以)
模糊查询中%代表一个或多个字符_代表一个字符
order by 放在select语句后面进行排序  …order by col_name asc/desc;
count统计:select count(*) from table_name;统计有多少行
sum合计函数:select sum(列名) from table_name;统计该列数据总和
AVG返回平均值
Max/min返回最大值最小值
group by:对列进行分组
有合计函数时使用having子句过滤where放在最后  而不能用where
定义主键(primary key)不允许为空不允许重复
定义主键自动增长  auto_increment
定义唯一性:unique
非空:not null;
定义外键约束:constraint ordersid_FK foreign key (ordersid) references others(id); 

mysql的基本用法

时间: 2024-11-05 11:36:50

mysql的基本用法的相关文章

mysql常用命令用法

1.创建数据库:create database database_name; 2.选择数据库:use database_name; 3.创建表:create table tablename(column1 data_type1, column2 data_type2,...,columnn datatypen); 4.设置表主键:alter table tablename add primary key(column_name); 5:修改表的字段名:alter table tablename

mysql not in用法

select * from zan where uid not in(select uid from zan where zhongjiang !=0) group by uid order by rand() limit 40 不过这个执行效率比较低,正在找更好用的方法 我觉得还是不如两条语句分开来写,先查出所有的uid,然后再用not in  这样查询速度快很多 $sql="select uid from zan where zhongjiang !='0'";$res=$dbs-

mysql 数据类型TIMESTAMP用法

在mysql数据库中,timestamp数据类型是一个比较特殊的数据类型,可以自动在不使用程序更新情况下只要更新了记录timestamp会自动更新时间. 通常表中会有一个Create date 创建日期的字段,其它数据库均有默认值的选项.MySQL也有默认值timestamp,但在MySQL中,不仅是插入就算是修改也会更新timestamp的值!这样一来,就不是创建日期了,当作更新日期来使用比较好!因此在MySQL中要记录创建日期还得使用datetime 然后使用NOW() 函数完成!1: 如果

MYSQL中LIMIT用法

MYSQL中LIMIT用法 SELECT * FROM tableName LIMIT [offset,] rows; 1.select * from table limit m,n(显示条数) 其中m是指记录开始的索引index(索引是从0开始的表示第一条记录 ) n是指从第m+1条开始,取n条. 结果是检索记录第m+1行至(m+n)行记录,共取出n条记录 ex: SELECT * FROM 表名 limit 6,5; 结果:检索记录第7行至11行记录,共取出5条记录. 2.n可以被设置为-1

mysql group by 用法解析(详细)

在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值.其原因是 distinct只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰了很久,用distinct不能解决的话,我只有用二重循环查询来解决,而 这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的.所以我花了很多时间来研究这个问题,网上也查不到解决方案 下面先来看看例子:

MySQL replace into 用法详细介绍

MySQL replace into 用法(insert into 的增强版) 在向表中插入数据的时候,经常遇到这样的情况:1. 首先判断数据是否存在: 2. 如果不存在,则插入:3.如果存在,则更新. 在 SQL Server 中可以这样处理: if not exists (select 1 from t where id = 1) insert into t(id, update_time) values(1, getdate()) else update t set update_time

mysql数据类型和用法

``Accordian'' Patience  You are to simulate the playing of games of ``Accordian'' patience, the rules for which are as follows: Deal cards one by one in a row from left to right, not overlapping. Whenever the card matches its immediate neighbour on t

sqlserver row_number 类似 mysql中 limit 用法

select * from ( select row_number() over(ORDER BY inspecdate desc,inspectime DESC,itemorder asc ) as num, contentid,quesioncontext,tempid,tempname,itemid,itemtext,belongteam,teamname,inspecdate, inspectime,contenttext,createperson,newaddtime,updateti

MySQL replace into 用法(insert into 的增强版)

MySQL replace into 用法(insert into 的增强版) 在向表中插入数据的时候,经常遇到这样的情况:1. 首先判断数据是否存在: 2. 如果不存在,则插入:3.如果存在,则更新. 在 SQL Server 中可以这样处理: if not exists (select 1 from t where id = 1) insert into t(id, update_time) values(1, getdate()) else update t set update_time