查看数据库 show databases;
切换数据库: use 数据库名;
创建数据库:create database 数据库名;
删除数据库: drop database 数据库名;
数据表的相关操作:创建前要先选择数据库否则会报错
创建数据表结构
create table 表名(
列名 列类型 其他关键词
......
列名 列类型
)
查看当前数据库的表:show tables;
查看表结构: desc 表名;
查看创建表的sql语句:show create table 表名;
删除表:drop table 表名;
修改表的列名里的字段的类型:alter table 表名 modify(修改) 字段(比如name) varchar(n); 例入: alter table user modify user_name varchar(100);
修改表的列名里的字段: alter table 表名 change 原字段 修改的字段;例如:alter table user change name user_name;
给表添加一个字段: alter table 表名 add 字段 字段的类型;
给表的字段位置进行定位: alter table 表名 add 字段 字段的类型 after 字段(定位地方上方的值);、
删除字段 alter table 表名 drop 字段;
修改表名: alter table 表名 rename (to) 新表名;
select user, host from user;
flush privilges; 更新权限
修改密码
**新安装的MySQL5.7,登录时提示密码错误,安装的时候并没有更改密码,后来通过免密码登录的方式更改密码,输入update mysql.user set password=password(‘root’) where user='root’时提示ERROR 1054 (42S22): Unknown column ‘password’ in ‘field list’,原来是mysql数据库下已经没有password这个字段了,password字段改成了
authentication_string
**
所以更改语句替换为update mysql.user set authentication_string=password(‘root’) where user=‘root’ ;即可 新版本不知道为什么改不了
8.00
ALTER USER “root”@“localhost” IDENTIFIED BY “你的新密码”;
查看编码
show variables like ‘%char%’;
查看监听
netstat -an
查看权限
show grants for 用户名@IP地址
删除用户
drop user 用户名@IP地址
查询
select concat_ws(’–’,password,email) as password_email from user;
ws代表分隔符的意思
as 输出之后展示的表名
truncate 表名; 清空表
连接查询
select 表1列名1(stu.name),表2列名1 from 表1,表2 where 表1的id=表2对应的id;
或
select m.列名1(stu.name),s.列名1 from 表1 as m,表2 as s where m.id=s.对应的id;(as相当于赋值)
另外一种写法
select m.列名1(stu.name),s.列名1 from 表1 as m inner join表2 as s where m.id=s.对应的id;(as相当于赋值)(inner join 内连接的意思)
内连接可以用where和on
外链接必须用on
union all 联合
limit 查询
select 列名 from 表名 order by 列名 desc(倒序)limit 1; 这里的1 只显示第一行 如果是2 显示两行
如果这里是limit 2 1;则是第二行之后从第三行的留1个
如果这里是limit 3 2;则是第三行之后从第四行的留2个