mysql 常用总结:

查看mysql数据库版本:mysql -V

mysql 语句大小写不敏感,一般写在网页中用大写。

*varchar类型 最长可设置21000多的长度

删除数据库  DROP DATABASE 数据库名;

创建数据库  CREATE DATABASE test_db DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

创建数据表

create table `zt_tbl`(
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(25) NOT NULL,
`age` int(3) NOT NULL,
`sex` char(1) NOT NULL DEFAULT ‘男’,
PRIMARY KEY(`id`)
)ENGINE=InnoDB DEFAULT CHARACTER SET utf8;

插入数据  INSERT INTO login (username,password) VALUES (“小明”,”123″);

分组查询  SELECT coalesce(name, ‘总数’), SUM(singin) AS singin_count FROM employee_tbl GROUP BY name WITH ROLLUP;

连接查询  INNER JOIN 、LEFT JOIN、RIGHT JOIN

NULL值处理  mysql 无法使用 = / != 来判断是否为NULL值,应使用IS NULL / IS NOT NULL

mysql REGEXP http://www.runoob.com/mysql/mysql-regexp.html

mysql实例:

联表查询:
SELECT
	a.activity_id,
	a.activity_name,
	a.time,
	a.address,
	a.content,
	a.user_id
FROM
	activity a
JOIN enroll e ON a.activity_id = e.activity_id
WHERE
	e.login_id = 4
AND status2 = 1
ORDER BY
	a.activity_id ASC;

选择数据库  USE 数据库名; 查看现有数据库(表) SHOW DATABASES(TABLES);

查某数据库的表  SHOW TABLES FROM 数据库名称;

查询某表创建语句  SHOW CREATE TABLE 表名;

查询表结构  DESC 表名;

当前在哪个数据库  SELECT DATABASE();

查询数据库版本  SELECT VERSION();

————增删改查—————–

select * from country;
select name from country;
select name,code from country;
select 1+2;(计算)

有多个子句可以用于select语句中:
distinct : 清除重复的记录行
from : 指定从哪些表中获取数据
where : 只返回满足特定条件(也叫过滤器)的记录行
group by 字段名 :按照某个字段分组(在oracle中,只要使用了group by 前面只能加函数和搜索字段)
order by : 按照表达式列表排序记录
limit : 返回特定部分的数据,而不是所有的结果集

上面出现顺序不能颠倒!!!

示例:
select distinct(英:不同) * from
from 数据库/数据表等
where <condition>
order by 字段名 desc(降序排)/asc(升序排)
limit 数量(显示多少条)

SELECT Name,Population FROM City WHERE CountryCode = ‘IND’ AND Population > 3000000; 查询语句

select * frim world.country; 在一个数据库中查询另一个数据库的表内容,要加数据库名前缀(加了数据库前缀的表名叫限定表名,没加叫未限定表名)

——————————-

exit 、/q 、quit 退出mysql数据库

net start mysql / net stop mysql 手动开启关闭mysql

source 脚本的路径; 执行脚本

my.ini mysql配置文件

mysql –version 当前mysql版本号(这种命令模式叫长选项,mysql -V 相同的功能,叫短选项)

mysql –help mysql帮助文档

delimiter go 改变命令结束符为 go(默认命令结束符;和/g,另外用/G结束符 能让结果集换方向显示)

\c 终止一条正在编写的语句!我还没搞懂

—————-*真的很经典!!!*——————-

– 上下键循环调出历史命令

– 左右键移动光标

– Del键删除当前光标处字符(Del键往后删,Backspace往前删)

– Esc键取消当前输入内容

———————————————————

字段、记录

—————————–

聚集查询结果,“聚集”函数!

MIN() 查询聚集中最小的值
MAX() 查找聚集中的最大值
SUN() 查找聚集中数字值的总和
AVG() 计算聚集中数字值的平均值
COUNT() 计算聚集的行数(不把空行计算在内)

例如:select sum(people) from country; 显示所有国家的总人数;

———————-

group by : select sum(population),continent from country group by continent having sun(population)>0; 分别对7大洲计算州总人口,排除人口小等于0的州
(where 和 having 有相似,但是where后不能跟聚集函数)

MYSQL 提供了两种基于一个表创建另一个表的方法:
1、 create table … as select 不能继承表的属性
2、 create table … like 不能继承表的内容

mysql 数据类型:数值类型(整数,浮点float/double(10,3)精度10标度3,最长10个数位,小数点最多3位,定点decimal)、字符(文本字符串)、二进制(二进制数据)、时间(时间和日期)
为什么我们经常用浮点不用定点,因为浮点计算更快!

———————

show character set (like ‘G%’); 显示mysql可用的字符集
show collation; 显示可用的校对规则
以_ci结尾的校对规则对大小写不敏感
以_cs结尾的校对规则对大小写敏感
以_bin结尾的表示校对规则为二进制

—————————————

alter table 表名 add column 字段名 属性; 增加表的字段

alter table 表名 drop column 字段名; 删除字段名

alter table 表名 modify 字段名 类型 属性 ; 除了字段名都可以改!change 都可以改

alter table net2 rename to www2; 修改表名

rename table www2 to net2; 修改表名

drop table if exists haha;


158 Clicks !

发表评论

电子邮件地址不会被公开。 必填项已用*标注