DML 数据操作语言
查询表的内容 select * from 表名
在表中插入内容 insert into 表名(列名1,列名2,········) values (列值 1,列值2,······);
也可以选择插入,想要在哪个列名中插入信息就选择哪个列名,插入哪个列值;
也可以直接用values,省略其中的列名插入,不过在直接用values插入时,必须列顺序插入,否则会出错;
windows 中插入中文乱码的解决:
1.当想插入中文时,改变编码格式,但这个只是暂时的,一旦退出mysql,重新启动时,原来所插入的中文会出现乱码现象。因为win系统默认是gbk编码格式,而mysql则是utf-8格式。则改变编码格式操作:
show variables like ‘%char%’; 查看编码格式
set names gbk; 改变编码格式
2.若要长久修改,则需改配置文件,修改mysql.ini文件,把其中的编码格式改掉;
特别注意在做每次改变时,一定要输入 flush privilges 刷新权限
修改列表中的内容:
update 表名 set 字段名称(字段值) where 条件;
如:update hihi set age=100 where id=1;
如果想同时修改id=2,4,6的内容应该这样写 where id in (2,4,6);
如同时修改id=2,3,4,5 的内容可以这样写 where id between 2 and 5;
删除:
delect from 表名 where 条件(如id=4);
再添加影响你id的值,如删除的id=2,则在添加则不会补充2的位置;
而另一种删除不同,truncate 表名 ; 是把表内容清空;这个不会=影响id的值;
DCL数据控制语言
为了保证数据库安全,只允许指定ip相连,或创建一个普通用户,降低权限;
只允许指定ip链接这个数据库:
进入mysql,进入user表,显示内容;只留下ip所在内容,其它删掉,可以将ip改为自己的ip,或者,允许链接mysql的ip,这样就只能用自己设置的ip链接,同样提高了mysql的安全性;
如果想连接数据库,则必须 mysql -uroot -h(ip地址) -p;
修改密码:
1.进入user表,直接用upda te;
2.mysql -uroot -p原密码 password 新密码;
如果忘记密码了;
首先停止数据
mysql –skip -grant -tables 跳过数据库中的限制
再打开另外一个窗口,设置密码;
再使用数据库时,为了不把所有的权限给用户,因此可以创建一个普通用户;
create user ‘用户名’ @‘ip地址’ identified by ‘密码’;
其中的ip地址如果是‘%’,则是对所有的ip都可以连接;
用户授权:
grant 权限1,权限2,······· on 数据库名.* to 用户名 @ ip地址(%);
赋权限时,所有的数据库就用 * . *, 所有的权限就用ALL或者ALL PRIVILEGES;
撤销权限:
revoke 权限 on 数据库名 .* from ‘用户名’ @ ‘ip地址’ ;