MySQL基本操作
来源:互联网 发布:ubuntu 16.04软件下载 编辑:程序博客网 时间:2024/06/06 08:48
数据库
1、连接与断开MySQL服务器:
mysql –uroot –p,回车后输入密码。
断开连接:quit或者exit
2、执行SQL语句:
语句以“;”结束。不区分大小写。
在一行中可以输入多条SQL语句,各语句以“;”号隔开。
各条语句得到各自的结果集。
在任何时候输入“\c”并回车,则取消当前输入,重新回到mysql>提示符。
某些情况下,按回车后,SQL语句并不执行,出现的也不是“->”提示符,如:[’>]、[”>]、[`>]、[/*],则表示引号或注释没有结束。即使通过\c取消,也要先结束引号。
3、创建数据库:
CREATE DATABASE
CREATE DATABASE db_test default character set gb2312 collate gb2312_chinese_ci;*
CHARACTER SET:字符集。COLLATE:整理或校对。如不指定则采用默认。
4、关于字符校对collate
指比较字符串时采用的一套规则。还可以设置服务器校对和表校对。
一般情况下不需要设置字符校对,因为对应于每一种字符集MySQL有默认的校对规则,例如gb2312字符集默认校对规则为gb2312_chinese_ci。当不设置校对时采用默认。
5、删除数据库:
DROP DATABASE database_name;
6、创建数据库表:
在创建数据表之前,首先要选择数据库。
其它查询、修改、删除等操作也一样。use db_name;
查看当前数据库下所有表:show tables;
7、查看运行端口:
show global variables like 'port';
8、执行sql脚本:
source 文件位置
表
1、查看表结构:
SHOW COLUMNS 或 DESCRIBE
show columns from user_info from db_test;
show columns from db_test.user_info;
如果当前使用数据库为表所在的数据库,则可以省略db_test。
describe user_info;
用法同上,还可以只得到某一个列的信息:
describe user_info name;
2、删除表:
DROP TABLE
可以一次删除多个表: drop table user_info1,user_info2;
3、重命名表:
RENAME TABLE
可以同时对多个表重命名,之间以逗号“,”隔开。
RENAME table user_info TO users_infomation, sale_info to sales_infomation;
4、修改表结构:
ALTER TABLE
modify和change区别:
change需要写两次col_name,但是可以用来修改列名。
在列reg_date中添加索引:
ALTER TABLE user_information ADD INDEX (reg_date);
一次添加多个列(字段):
ALTER TABLE table_name ADD func varchar(50), ADD gene varchar(50), ADD genedetail varchar(50);
5、浏览数据库记录:
SELECT * FROM table_name [WHERE….];
DML记录
1、插入记录:
INSERT into table_name(…...) values (…..);
insert into user_info (name, gender, age, email) values(‘XiaoHei’, ‘男’,28,‘xhei@sohu.com’);
CONCAT为MySQL系统函数,将多个字符串连接起来。
可以一次同时插入多行记录,用“,”隔开。
insert into user_info(name,gender,age,email) values(‘ChenYi’, ‘女’,25,‘chenyi@shou.com’), (‘XiaoHei’, ‘男’,28,‘xhei@sohu.com’);
2、修改记录:
UPDATE table_name SET field1=values1,field2=values2,…. [ WHERE condition]
UPDATE table1_name t1, table2_name t2, table3_name t3 SET t1.field1=values1,t2.field2=values2,…. [ WHERE condition]
3、删除记录:
DELETE FROM table_name [ WHERE condition];
DELETE t1,t2 FROM table1_name t1, table2_name t2 [ WHERE condition];
各关键字含义用UPDATE,不指定where子句时删除所有行。
4、查询记录:
SELECT * FROM table_name [ WHERE condition];
全选,下面用SE代替。
SELECT field1_name,field2_name,…. FROM table_name [ WHERE condition];
选择部分字段
SELECT DISTINCT field_name FROM table_name ;
选择某字段的不重复的记录。多个字段???
SE [ ORDER BY field1_name [DESC/ASC], field2_name [DESC/ASC], field3_name [DESC/ASC],…. ]
desc表示降序,默认为升序。
SE [ LIMIT offset_start, row_count ]
offset_start表示记录起始偏移量,
row_count表示显示的行数。如果只写一个表示 row_count(其他数据库不通用)
limit 和order by常配合使用来进行记录的分页显示。limit用在rollup后面。
SELECT field1_name,field2_name,…. Function_name FROM table_name[ WHERE condition][GROUP BY field1_name,field2_name,…. [WITH ROOLUP] ][HAVING where_condition]
Function_name :sum,count(*)记录数????,max,min
GROUP BY 要进行分类聚合的字段
WITH ROOLUP 是否对分类聚合后的结果进行再汇总,和ORDER BY是互斥的。
HAVING 表示对分类后的结果再进行条件的过滤
5、表连接p43
左连接:包含所有左边表中的记录甚至是右边表中没有和它匹配的记录
左连接:包含所有右边表中的记录甚至是左边表中没有和它匹配的记录
SELECT col1_name,col2_name… FROM table1_name RIGHT/LEFT JOIN table2_name ON condition
6、子查询:
WHERE col_name in (select …..)
如果子查询记录数唯一,可以用=代替in
7、记录联合:
UNION ALL 把结果直接合并在一起,
而UNION 是在此基础上进行一次DISTINCT去除重复记录后的结果。
踩坑的地方
1、sql语句中千万不要有sql的保留词,不然会无法识别
报错:The error occurred while setting parameters
- MySQL的基本操作
- Mysql 基本操作
- mysql基本操作
- Mysql的基本操作
- Mysql 基本命令操作
- mysql基本操作
- MySQL的基本操作
- MySQL常用操作基本
- MySQL基本操作
- MySQL基本操作
- MySql数据库基本操作
- MySQL 安装 (基本操作)
- MySQL基本操作(控制台)
- mysql 基本操作函数
- MySQL的基本操作
- MySql 基本操作
- mysql操作基本命令
- MySQL 基本操作命令
- C++ 从Dll中导出类
- Vue 2.5 发布
- JS的find()
- 2017-11-06 ~ 2017 11-10 八连测酱油记
- 详解java String
- MySQL基本操作
- Go实战--也许最快的Go语言Web框架kataras/iris初识四(i18n、filelogger、recaptcha)
- 全面、易懂的Webview使用详解
- linux 逻辑卷管理 调整分区大小
- China love基金会全力支持CHNLOVE选拔活动
- ABP框架---EF code First 数据迁移
- xml中的与
- 位运算的认识
- 怎样才能赚到钱系列(七)