mysql数据库命名sets_mysql 数据库常用命令

数据库中不能输入中文,原因是字符编码问题。

查看:mysql> show variables   like  'character%';

显示:

+--------------------------+----------------------------+

| Variable_name            | Value                      |

+--------------------------+----------------------------+

| character_set_client     | latin1                     |

| character_set_connection | latin1                     |

| character_set_database   | latin1                     |

| character_set_filesystem | binary                     |

| character_set_results    | latin1                     |

| character_set_server     | latin1                     |

| character_set_system     | utf8                       |

| character_sets_dir       | /usr/share/mysql/charsets/

character_set_database和character_set_server   为latinl需要改为utf8

更改:

mysql> set  character_set_server = utf8;

mysql> set character_set_database = utf8;

查询:

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/share/mysql/charsets/ |

+--------------------------+----------------------------+

结果:现在就可以输入中文

find /hxdata/hqserver/history/shase/ -name "609*.*" |xargs  rm  -rf    (删除找到的内容)

sqlserver  查表结构

sp_columns wt_login_transmid

sp_help wt_login_transmid

查询:最后两条数据  select * from  y1  order by id  desc  limit 2;   (最后一条编号是0,可以省略不写)

查询倒数第二条和第三条数据  select  *  from y1   order by id desc limit 1,2;

查询最前面10条数据 select * from  y1 limit  10

查询第二条到第五条信息  select  * from y1  limit 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   table   y1  rename to  yyy1;

添加字段:alter   table  yyy1  add  weight  int(11);

添加字段到第一列:  alter   table   yyy1   add   money   int(11) not null first;

更改字段:alter  table yyy1  change  weight   line int(11);

删除字段:alter   table   yyy1  drop line;

修改数据:update   yyy1 set   money="22200" where age=7;

修改数据:update  yyy1   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修改 (在下面三处添加下面内容)

[client]

default-character-set = utf8mb4

[mysql]

default-character-set = utf8mb4

[mysqld]

character-set-client-handshake = FALSE

character-set-server = utf8mb4

collation-server = utf8mb4_unicode_ci

init_connect='SET MAMES utf8mb4'

步骤2:在mysql中执行

setcharacter_set_client = utf8mb4;

setcharacter_set_connection = utf8mb4;

setcharacter_set_database = utf8mb4;

setcharacter_set_results = utf8mb4;

setcharacter_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

[mysqld]

lower_case_table_names=1

3)mysql设置group_concat_max_len(在配置文件中添group_concat_max_len = 1024000) 之后重启。

步骤:在配置文件my.cnf

[mysqld]

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 databaseoms_dbDEFAULT 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 -p  cms_pro t_product_fund >t_product_fund.sql   (一般库和表使用空格或点隔开,如果是整个库 就不需要接后面的表)

导出表结构:mysqldump -uroot -p -d  cms_pro t_product_fund >t_product_fund.sql (导出的是表结构)

MYSQL:授权

grant all privileges  on *.*  to  root@"198.28.1.19" identified by "htzq10jqka";

mysql>grant privileges all *.* root@"%" identified by "123456";

mysql>flush privileges;

MySQL:改密码

mysql>update mysql.user set passowrd=password("10jqka") where user="root" and host="%";

mysql>flush privileges;

让MYSQL不区分表名大小写的方法其实很简单:

1.用ROOT登录,修改/etc/my.cnf

2.在[mysqld]下加入一行:lower_case_table_names=1

3.重新启动数据库即可

[root@chicago init.d]# vi /etc/my.cnf

[mysqld]

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

查看建表过程

show  create  table  表名;

#msyql -uroot -p123456 mysql -e "show tables" |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/ |

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值