MySQL命令行数据操作使用心得(总结版)_MySQL
程序员文章站
2022-05-20 12:26:01
...
bitsCN.com
MySQL命令行数据操作使用心得(总结版) Char 0~255 Varchar 0~65535 text 0~65535(只能保存字符) Longtext 0~4294967295(只能保存字符) CMD登陆mysql mysql -u root -p mysql -P 3306 -uroot -p123456 (-P必须大写表示端口) 1,数据库操作databases 创建数据库 create database 显示数据库 show databases 删除数据库 drop database 连接数据库 Use 查看当前使用的数据库 select database() 显示当前数据库信息 Show tables 导入sql数据库 mysql -u root -p creat 数据库名 //先创建一个同名数据库 mysql -u root -p 数据库名 joke.sql 导出(备份)数据库 mysqldump -u root -p 数据库名>c:/文件名.sql 2,表操作table 建立表 命令:create table ( [,.. ]); mysql> create table MyClass( > id int(4) not null primary key auto_increment, > name char(20) not null, > sex int(4) not null default '0', > degree double(16,2)); mysql> create table classify( ->title varchar(100) primary key,content longtext,author longtext,board lon gtext,datatype longtext); 获取表结构 describe myclass desc MyClass; 更改表名 rename table 原表名 to 新表名 删除表 drop table 清空表 delete from 表名 插入表中记录 往表 MyClass中插入二条记录, 这二条记录表示: 编号为1的名为Tom的成绩为96.45 编号为2 的名为Joan的成绩为82.99 编号为3 的名为Wang的成绩为96.5. insert into MyClassvalues(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59); insertinto 表名 values("hyq","M"); 更新表中数据 update MYTABLE set sex="f" wherename='hyq'; 用文本方式将数据装入数据库表中(例如d:/mysql.txt) load data local infile "d:/mysql.txt" intotable mytable; 删除表中数据 delete from 表名where 表达式 delete from MyClass where id=1; MySQL批量替换指定字段字符串语句 UPDATE 数据表名 SET 字段名 = replace(字段名, '要替换的字符串', '替换为') WHERE 设定条件; update xxx set column = repalce(column,chr(ascii),''); //oracle update jo1 set 内容=replace(内容,char(13)+char(10),''); //回车+换行 3,字段操作 在表中增加字段: alter table 表名add字段 类型 其他; 例如:在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0 alter table MyClass add passtest int(4) default '0' //其中4可以省略,长度默认为11 删除字段 alter table 表名 drop column 字段名 更新字段内容 update 表名set 字段名 = 新内容 update 表名set 字段名 = replace(字段名,'旧内容','新内容'); 文章前面加入4个空格 update article set content=concat(' ',content); 修改字段类型 alter table forum alter column column_name new_data_type 4,索引 提高检索、查询速度;创建维护费时间,占用物理空间,影响插入记录的速录。(解决:先删除索引再插入记录) 建立索引 Create table index1(index(id)); er table forum alter column column_name new_data_type 5,查询操作 查询表 select * from MyClass; 查询前几行数据 select * from MyClass order by id limit 0,2; 查询表中数据总数 select count(*) from table 字段类型 1.INT[(M)] 型:正常大小整数类型 2.DOUBLE[(M,D)][ZEROFILL] 型: 正常大小(双精密)浮点数字类型 3.DATE 日期类型:支持的范围是1000-01-01到9999-12-31。MySQL以YYYY-MM-DD格式来显示DATE值,但是允许你使用字符串或数字把值赋给DATE列 4.CHAR(M) 型:定长字符串类型,当存储时,总是是用空格填满右边到指定的长度 5.BLOB TEXT类型,最大长度为65535(2^16-1)个字符。 6.VARCHAR型:变长字符串类型 查看mysql版本 Select @@Version 查看mysql默认编码 showvariables like 'character%'; showvariables like "character%"; .. 设置MySQL编码 MySQL(版本是5.1.22)支持多种编码格式,并且可以在多个级别上设置不同的编码格式。 服务器级:在安装MySQL时可以设置服务器的默认编码格式 最简单的修改方法,就是修改mysql的my.ini文件中的字符集键值,如:default-character-set = utf8character_set_server = utf8修改完后,重启mysql的服务,service mysql restart 数据库级:在创建数据库时可以指定数据库的编码格式,如果不指定,则默认继承服务器的编码格式。示例如下:CREATEDATABASE db_name DEFAULT CHARACTER SET utf8;表级:在MySQL中可以对同一个数据库中表指定不同的编码格式,如果不指定将继承数据库的编码格式。示例如下:CREATETABLE `db_name`.`tb_name`( id VARCHAR(20)NOTNULL, name VARCHAR(20)) ENGINE=InnoDB DEFAULT CHARSET=utf8;列级:另外还可以对同一个表中的不同列指定不同的编码格式,示例如下:CREATETABLE `db_name`.`tb_name`( id varchar(20)NOTNULL, name varchar(20) CHARACTER SET utf8);制定编码方式的一个好处是,增强对中文的处理,可解决表中部分中文字段内容在不同工具下乱码的问题 1.具体查询 SELECT content FROM forum WHERE content='缩小贫富差距,是一个纠结的课题,怎么缩?关键是收入分配。话语权大的利益群众,收入分配明显偏高,导致收入差距拉大' 2.仔细搜索 SELECT content, DATE, url, id, ObjectKey, RobotName, ExecutionId, FirstExtracted, LastExtracted, ExtractedInLastRun, LastUpdated, num FROM aeolus.forum WHERE id='哄旗飞舞' 3.模糊查询 SELECT 字段 FROM 表 WHERE 字段 LIKE'我%' 4.模糊删除 DELETE FROM aeolus.forum WHEREid LIKE '%' ; CRLF – Carriage-Return Line-Feed回车换行 回车(CR, ASCII 13, /r) 换行(LF, ASCII 10, /n) bitsCN.com
MySQL命令行数据操作使用心得(总结版) Char 0~255 Varchar 0~65535 text 0~65535(只能保存字符) Longtext 0~4294967295(只能保存字符) CMD登陆mysql mysql -u root -p mysql -P 3306 -uroot -p123456 (-P必须大写表示端口) 1,数据库操作databases 创建数据库 create database 显示数据库 show databases 删除数据库 drop database 连接数据库 Use 查看当前使用的数据库 select database() 显示当前数据库信息 Show tables 导入sql数据库 mysql -u root -p creat 数据库名 //先创建一个同名数据库 mysql -u root -p 数据库名 joke.sql 导出(备份)数据库 mysqldump -u root -p 数据库名>c:/文件名.sql 2,表操作table 建立表 命令:create table ( [,.. ]); mysql> create table MyClass( > id int(4) not null primary key auto_increment, > name char(20) not null, > sex int(4) not null default '0', > degree double(16,2)); mysql> create table classify( ->title varchar(100) primary key,content longtext,author longtext,board lon gtext,datatype longtext); 获取表结构 describe myclass desc MyClass; 更改表名 rename table 原表名 to 新表名 删除表 drop table 清空表 delete from 表名 插入表中记录 往表 MyClass中插入二条记录, 这二条记录表示: 编号为1的名为Tom的成绩为96.45 编号为2 的名为Joan的成绩为82.99 编号为3 的名为Wang的成绩为96.5. insert into MyClassvalues(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59); insertinto 表名 values("hyq","M"); 更新表中数据 update MYTABLE set sex="f" wherename='hyq'; 用文本方式将数据装入数据库表中(例如d:/mysql.txt) load data local infile "d:/mysql.txt" intotable mytable; 删除表中数据 delete from 表名where 表达式 delete from MyClass where id=1; MySQL批量替换指定字段字符串语句 UPDATE 数据表名 SET 字段名 = replace(字段名, '要替换的字符串', '替换为') WHERE 设定条件; update xxx set column = repalce(column,chr(ascii),''); //oracle update jo1 set 内容=replace(内容,char(13)+char(10),''); //回车+换行 3,字段操作 在表中增加字段: alter table 表名add字段 类型 其他; 例如:在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0 alter table MyClass add passtest int(4) default '0' //其中4可以省略,长度默认为11 删除字段 alter table 表名 drop column 字段名 更新字段内容 update 表名set 字段名 = 新内容 update 表名set 字段名 = replace(字段名,'旧内容','新内容'); 文章前面加入4个空格 update article set content=concat(' ',content); 修改字段类型 alter table forum alter column column_name new_data_type 4,索引 提高检索、查询速度;创建维护费时间,占用物理空间,影响插入记录的速录。(解决:先删除索引再插入记录) 建立索引 Create table index1(index(id)); er table forum alter column column_name new_data_type 5,查询操作 查询表 select * from MyClass; 查询前几行数据 select * from MyClass order by id limit 0,2; 查询表中数据总数 select count(*) from table 字段类型 1.INT[(M)] 型:正常大小整数类型 2.DOUBLE[(M,D)][ZEROFILL] 型: 正常大小(双精密)浮点数字类型 3.DATE 日期类型:支持的范围是1000-01-01到9999-12-31。MySQL以YYYY-MM-DD格式来显示DATE值,但是允许你使用字符串或数字把值赋给DATE列 4.CHAR(M) 型:定长字符串类型,当存储时,总是是用空格填满右边到指定的长度 5.BLOB TEXT类型,最大长度为65535(2^16-1)个字符。 6.VARCHAR型:变长字符串类型 查看mysql版本 Select @@Version 查看mysql默认编码 showvariables like 'character%'; showvariables like "character%"; .. 设置MySQL编码 MySQL(版本是5.1.22)支持多种编码格式,并且可以在多个级别上设置不同的编码格式。 服务器级:在安装MySQL时可以设置服务器的默认编码格式 最简单的修改方法,就是修改mysql的my.ini文件中的字符集键值,如:default-character-set = utf8character_set_server = utf8修改完后,重启mysql的服务,service mysql restart 数据库级:在创建数据库时可以指定数据库的编码格式,如果不指定,则默认继承服务器的编码格式。示例如下:CREATEDATABASE db_name DEFAULT CHARACTER SET utf8;表级:在MySQL中可以对同一个数据库中表指定不同的编码格式,如果不指定将继承数据库的编码格式。示例如下:CREATETABLE `db_name`.`tb_name`( id VARCHAR(20)NOTNULL, name VARCHAR(20)) ENGINE=InnoDB DEFAULT CHARSET=utf8;列级:另外还可以对同一个表中的不同列指定不同的编码格式,示例如下:CREATETABLE `db_name`.`tb_name`( id varchar(20)NOTNULL, name varchar(20) CHARACTER SET utf8);制定编码方式的一个好处是,增强对中文的处理,可解决表中部分中文字段内容在不同工具下乱码的问题 1.具体查询 SELECT content FROM forum WHERE content='缩小贫富差距,是一个纠结的课题,怎么缩?关键是收入分配。话语权大的利益群众,收入分配明显偏高,导致收入差距拉大' 2.仔细搜索 SELECT content, DATE, url, id, ObjectKey, RobotName, ExecutionId, FirstExtracted, LastExtracted, ExtractedInLastRun, LastUpdated, num FROM aeolus.forum WHERE id='哄旗飞舞' 3.模糊查询 SELECT 字段 FROM 表 WHERE 字段 LIKE'我%' 4.模糊删除 DELETE FROM aeolus.forum WHEREid LIKE '%' ; CRLF – Carriage-Return Line-Feed回车换行 回车(CR, ASCII 13, /r) 换行(LF, ASCII 10, /n) bitsCN.com