lanxi256 发表于 2018-10-9 10:40:51

mysql 数据库常用命令

  find /hxdata/hqserver/history/shase/ -name "609*.*" |xargsrm-rf    (删除找到的内容)
  sqlserver查表结构
  sp_columns wt_login_transmid
  sp_help wt_login_transmid

  查询:最后两条数据select * fromy1order by>
  查询倒数第二条和第三条数据select*from y1   order by>  查询最前面10条数据 select * fromy1 limit10
  查询第二条到第五条信息select* from y1limit 1,5(第一条是0,默认不写是0)
  order by +字段+desc/    降序/升序
  select * from y1 order by age desc--降序排序
  select * from y1 order by age--默认就是升序排序
  --top
  --查询数学成绩最高的5名
  select top 5 * from y1 order by CJ desc
  --获取数学成绩最低的5名
  select top 5 * from y1 order by CJ
  插入数据: inster   into   y1   values("carry","12","girl");

  更改表名: >  添加字段:alter   tableyyy1addweightint(11);

  添加字段到第一列: >  更改字段:altertable yyy1changeweight   line int(11);
  删除字段:alter   table   yyy1drop line;
  修改数据:update   yyy1 set   money="22200" where age=7;
  修改数据:updateyyy1   set   age=100   where   money="22200";
  mysql远程别的服务器电脑:mysql -uroot -h198.28.0.83 -phtzq10jqka
  utf8能够存下大部分中文汉字,那为什么还要使用utf8mb4呢? 因为 utf8 编码最大字符长度为 3 字节,如果遇到 4 字节的宽字符就会插入异常了
  保存 4 字节长度的 UTF-8 字符,需要使用 utf8mb4 字符集,但只有 5.5.3 版本以后的才支持(查看版本: select version();)
  1)mysql的数据格式是utf8mb4,数据库cms_pro也要支持
  (可以参照http://www1350.github.io/#post/34)
  步骤1:配置文件my.cnf修改 (在下面三处添加下面内容)
  
  default-character-set = utf8mb4
  
  default-character-set = utf8mb4
  
  character-set-client-handshake = FALSE
  character-set-server = utf8mb4
  collation-server = utf8mb4_unicode_ci
  init_connect='SET MAMES utf8mb4'
  步骤2:在mysql中执行
  set character_set_client = utf8mb4;
  set character_set_connection = utf8mb4;
  set character_set_database = utf8mb4;
  set character_set_results = utf8mb4;
  set character_set_server = utf8mb4;
  步骤3:修改database字符集 mysql中执行
  alter database cms_pro character set = utf8mb4 collate = utf8mb4_unicode_ci;
  查看是否修改成功 : show variables where variable_name like 'character\_set\_%' or variable_name like 'collation%';
  2)mysql数据库的表明及字段名称不区分大写
  步骤:配置文件my.cnf
  
  lower_case_table_names=1
  3)mysql设置group_concat_max_len(在配置文件中添group_concat_max_len = 1024000) 之后重启。
  步骤:在配置文件my.cnf
  
  group_concat_max_len = 1024000
  在mysql中创建一个student库 并设置字符集:utf8 -- UTF-8 Unicode,排序规则:utf8_general_ci
  mysql> create database if not exists student default charset utf8 collate utf8_general_ci;
  mysqkl>create database oms_db DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
  一、避免创建数据库及表出现中文乱码和查看编码方法1、创建数据库的时候:CREATE DATABASE `test` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';2、建表的时候 CREATE TABLE `database_user` (`ID` varchar(40) NOT NULL default '',`UserID` varchar(40) NOT NULL default '',) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  导入:
  导入sql脚本 自动创建所需的表。
  mysql> use cbas_orige
  Database changed
  mysql> source /root/dbtables.sql;
  导入整个数据库:先建一个空数据库,mysql>create database abc; 选择数据库mysql>use abc;
  设置数据库编码mysql>set names utf8;导入数据(注意sql文件的路径)mysql>source /home/abc/abc.sql;
  导入数据库/表
  mysql -u用户名 -p密码 数据库名 < 数据库名.sql      mysql -uroot -p abc < abc.sql
  导出:
  导出库/表包含内容:mysqldump-uroot -pcms_pro t_product_fund >t_product_fund.sql   (一般库和表使用空格或点隔开,如果是整个库 就不需要接后面的表)
  导出表结构:mysqldump -uroot -p -dcms_pro t_product_fund >t_product_fund.sql (导出的是表结构)
  MYSQL:授权
  
  

  grant all privilegeson *.*toroot@&quot;198.28.1.19&quot;>  

  mysql>grant privileges all *.* root@&quot;%&quot;>  mysql>flush privileges;
  MySQL:改密码
  mysql>update mysql.user set passowrd=password(&quot;10jqka&quot;) where user=&quot;root&quot; and host=&quot;%&quot;;
  mysql>flush privileges;
  让MYSQL不区分表名大小写的方法其实很简单:
  1.用ROOT登录,修改/etc/my.cnf
  2.在下加入一行:lower_case_table_names=1
  3.重新启动数据库即可
  # vi /etc/my.cnf
  
  datadir=/var/lib/mysql
  socket=/var/lib/mysql/mysql.sock
  skip-grant-tables
  lower_case_table_names=1
  MySQL:
  如果将A库中t1表内容复制到B库中t2表,insert into B.t2 select * from A.t1; 前提是要先创建一个t2表,且表结构要和t1一样,创建完后就可以用这sql语句导入。
  使一个库下所有表可以插入中文
  在mysql中 我创建一个student库 并 设置字符集:utf8 -- UTF-8 Unicode,排序规则:utf8_general_ci
  语句怎样的
  mysql> create database if not exists student default charset utf8 collate utf8_general_ci;
  mysql 初始化数据库
  # mysql_install_db--user=mysql -datadir=/var/lib/mysql
  查看建表过程
  showcreatetable表名;
  #msyql -uroot -p123456 mysql -e &quot;show tables&quot; |head
  mysql>purge master logs before date_sub(current_date,interval 1 day);清理binlog(二进制)日志,只保留最近一天数据,这样是为了十分磁盘空间,如果数据太多这样也不行就只能考虑数据迁移了。
  查看从是否有问题:
  mysql> show slave status \G;
  设置数据库插入中文字符集:
  mysql> show variables like 'character%';
  +--------------------------+----------------------------------+
  | Variable_name            | Value                            |
  +--------------------------+----------------------------------+
  | character_set_client   | latin1                           |
  | character_set_connection | latin1                           |
  | character_set_database   | utf8                           |
  | character_set_filesystem | binary                           |
  | character_set_results    | latin1                           |
  | character_set_server   | utf8                           |
  | character_set_system   | utf8                           |
  | character_sets_dir       | /usr/local/mysql/share/charsets/ |

页: [1]
查看完整版本: mysql 数据库常用命令