mysql整理(个人)
注意:以下命令都是在Linux系统下执行的:
1、验证mysql是否安装成功:
mysqladmin --version
2、连接mysql服务器:
mysql -u root -p 之后输入密码
3、退出:
exit
4、创建数据库:
create database zjx1;
5、删除数据库:
drop database zjx1;
6、创建数据表:
1 CREATE TABLE ZJX1( 2 -> runoob_id INT NOT NULL AUTO_INCREMENT, 3 -> NAME VARCHAR(100) NOT NULL, 4 -> AGE VARCHAR(40) NOT NULL,5 -> PRIMARY KEY ( runoob_id ) 6 -> )ENGINE=InnoDB DEFAULT CHARSET=utf8;
7、删除数据表:
DROP TABLE ZJX1;
8、在数据表中插入数据:
INSERT INTO ZJX1 -> (NAME,AGE) -> VALUES -> ("SUNNY",18);
9、查看数据表中所有数据:
SELECT * FROM ZJX1;
10、一次插入多条数据:
INSERT INTO ZJX1 -> (NAME,AGE) -> VALUES -> ("1",11),("2",22),("3",33);
11、查看数据表中数据:
SELECT column_name,column_name FROM table_name [WHERE Clause] [LIMIT N][ OFFSET M] #查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。 #SELECT 命令可以读取一条或者多条记录。 #你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据 #你可以使用 WHERE 语句来包含任何条件。 #你可以使用 LIMIT 属性来设定返回的记录数。 #你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。
12、更新表格中的字段:
UPDATE ZJX1 SET NAME="xiaohua" WHERE ID=3;
13、删除表格中的数据:
DELETE FROM ZJX1 WHERE ID=5;
14、LIKE与WHERE连用:like 匹配/模糊匹配,会与 % 和 _ 结合使用。
'%a' //以a结尾的数据
'a%' //以a开头的数据
'%a%' //含有a的数据
'_a_' //三位且中间字母是a的
'_a' //两位且结尾字母是a的
'a_' //两位且开头字母是a的
15、UNION:连接两个以上的 SELECT 语句的结果组合到一个结果集合中
UNION 语句:用于将不同表中相同列中查询的数据展示出来;(不包括重复数据)
UNION ALL 语句:用于将不同表中相同列中查询的数据展示出来;(包括重复数据)
使用形式如下:
SELECT 列名称 FROM 表名称 UNION SELECT 列名称 FROM 表名称 ORDER BY 列名称;
SELECT 列名称 FROM 表名称 UNION ALL SELECT 列名称 FROM 表名称 ORDER BY 列名称;
16、排序
SELECT * FROM ZJX1 ORDER BY AGE ASC; //升序
SELECT * FROM ZJX1 ORDER BY AGE DESC; //降序
17、去重:select name,count(*) from t group by name;
18、统计:select name,sum(singin) as aaa from t group by name with rollup;
19、增删改查 数据表名称、字段、默认值等
删除i字段:
# aa为数据表
alter table aa drop i;
添加i字段:
alter table aa add i int;
添加j字段到第一列:
alter table aa add j int first;
添加j字段到指定列后面:
alter table aa add j int after c;
修改指定字段的类型:
ALTER TABLE aa MODIFY c CHAR(10);
修改指定字段的名称:
alter table aa change c g int;
alter对null和默认值的影响:
alter table aa modify j int not null default 10000;
修改字段的默认值:
ALTER TABLE aa ALTER i SET DEFAULT 1000;
删除字段默认值:
ALTER TABLEaa ALTER i DROP DEFAULT;
修改表名:
alter table aa rename to aaa;
20、显示表字段结构详细信息
show columns from a;
21、复制表
# 只复制表结构到新表 CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2; 或 CREATE TABLE 新表 LIKE 旧表 ; # 注意上面两种方式,前一种方式是不会复制时的主键类型和自增方式是不会复制过去的,而后一种方式是把旧表的所有字段类型都复制到新表。 # 复制表结构及数据到新表 1 CREATE TABLE 新表 SELECT * FROM 旧表 # 复制旧表的数据到新表(假设两个表结构一样) 1 INSERT INTO 新表 SELECT * FROM 旧表 # 复制旧表的数据到新表(假设两个表结构不一样) 1 INSERT INTO 新表(字段1,字段2,.......) SELECT 字段1,字段2,...... FROM 旧表
22、
SELECT VERSION( ) //服务器版本信息 SELECT DATABASE( ) //当前数据库名 (或者返回空) SELECT USER( ) //当前用户名 SHOW STATUS //服务器状态 SHOW VARIABLES //服务器配置变量
23、导出数据库中的数据
mysql> SELECT * FROM runoob_tbl -> INTO OUTFILE '/tmp/runoob.txt';