grant all赋权后mysql.user表权限字段还是N,但能登录和新建表 grant all privileges on linuxeye.* to linuxeye@'localhost' identified by 'linuxeye';select * from myql.user where user='linuxeye'; 发现里面具体权限字段还是N,但是通过客户端却可以登录和新建表. MySQL访问控制2个阶段:第一阶段:当你试图连接MySQL服务器时,服务器基于你的身份以及你
MySQL修改表中字段的字符集 ALTER TABLE 表名 MODIFY 字段名 要修改的属性: 例:ALTER TABLE `guaduates` MODIFY `studentno` CHAR(11) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL; 扩展:修改表的字符集 ALTER TABLE 表名 要修改的属性: ALTER TABLE `guaduates` CHARSET=utf8;
mysql有个关键字distinct用来去重的,但是使用时只能放在查询字段的最前边,如: SELECT DISTINCT user_id,age FROM t_user;若不是放在最前边,如:SELECT user_id, DISTINCT age FROM t_user; 是会报错的.那么如果我们只想根据age字段来去重,并且要查出user_id,就不能直接这样执行.需要另找方法.查阅mysql相关使用后,有个group by可以进行分组,那么有个思路就是:分组然后去重.具体看这个需求:要查询
mysql安装成功后可以看到已经存在mysql.information_schema和test这个几个数据库,information_schema库中有一个名为COLUMNS的表,这个表中记录了数据库中所有表的字段信息.知道这个表后,获取任意表的字段就只需要一条select语句即可.例如: select COLUMN_NAME from information_schema.COLUMNS where table_name = 'your_table_name'; 上述的做法有一点问题,如果多个
首先我们需要了解下查询MySQL数据库/表相关信息的SQL语句: 代码如下: SHOW DATABASES //列出 MySQL Server 数据库.SHOW TABLES [FROM db_name] //列出数据库数据表.SHOW CREATE TABLES tbl_name //导出数据表结构.SHOW TABLE STATUS [FROM db_na
1.mysql 命令登陆 形式: mysql -u用户名 -p密码 mysql -uroot -proot 2.mysql 显示数据库 形式: show databases; 3.mysql 进入某一个数据库下 形式: use 数据库; use thinkphp: 4.mysql 删除某一个数据库 形式: drop database 数据库; drop database thinkphp; 5.mysql 查看 所有的数据表 形式: show tables; # 一定
修改一个表的字段 ALTER TABLE `member` CHANGE `memberid` `memberid` bigint unsigned; 修改含有外键的字段 -- 执行 begin 到 end 之间的代码可能需要修改sql_mode值 show variables like '%sql_mode' -- 保存查询出来的sql_mode 值 set global sql_mode='' set session sql_mode='' -- begin set group_concat
在一次导入数据表(MYISAM)的经历:复制过来的表打开后中文出现乱码,肯定是字符集出现了不致的问题,所以从原数据库导出.sql文件,修改其中的创建表的语句,加入字符集DEFAULT CHARSET=gb2312 用这个导入 mysql -uroot -p --default-character-set=gb2312 databasename>E:\orderlist.sql 导入后字符都正常. 修改数据库字符集: ALTER DATABASE db_name DEFAULT CHARACTER