MySQL增删改查基本语句
Mysql语句
一,数据对象
DDL:数据定义语言
CREATE
ALTER
DROP
DML:数据操作语言
INSERT
UPDATE
DELETE
DCL:数据控制语言
GRANT
REVOKE
二,DDL的用法
创建数据库:CREATE database testname;
如果不存在就创建:CREATE database IF NOT EXISTS testname;
删除数据库:DROP DATABASE testname;
创建用户:CREATE USER ‘username’@’host’ IDENTIFIED BY ‘PASSWORD’
删除用户:DROP USER ‘username’@’host’;
HOST解读:
IP
HOSTNAME
通配符:_:匹配任意单个字符,172.16.0._
匹配任意长度的任意字符使用,%
查看用户授权:show GRANTS from ‘username’@‘%’;
创建表:CREATE TABLE tablename; (先切换至testname库,use testname);
创建表及数据:create table tablename(name varchar(10) age int(3));
查看表:show table tablename;
查看表结构:DESC tablename;
删除表:drop table tablename;
修改表:
MODIFY:修改某个字段,修改字段属性,字段名字不改
CHANGE:改变某个字段,改变字段名称
ALTER table tablename CHANGE id ID CHAR(12) AFTER name;
ADD:添加一个字段
ALTER table tablename ADD id int(10);(默认在最后)
解读:将id修改为大写id,修改数据类型,放置name后面一行。
DROP:删除一个字段
ALTER table tablename drop name;
解读:删除一个name字段
不会使用可以帮助:help create table;help alter table;
三,DML的用法
INSERT INTO tablename (name1,id1…) VALUES(‘user1’,1);
INSERT INTO tablename VALUES(‘user1’,1);
批量插入数据
INSERT INTO tablename (name1,id1…) VALUES(‘user1’,1), (‘user2’,2), (‘user3’,3);
UPDATE tablename SET name=’user1’ where id=5;
解读:将表中,user1的用户,部门号由1改为5
SELECT name,id from tablename where age=33;
解读:查询出年龄为33岁的,显示名字和部门
Delete from tablename where name=‘user1’;
解读:删除表中名字等于user1的,如果没有带where表示所有行。
四,DCL数据控制语言
给一个用户所有权限
Grant ALL PRIVILEGES ON test.* TO ‘username’@’%’ IDENTIFIED BY ‘123.com’
给用户test库里面所有表,所有权限,并设置密码为123.com
GRANT [select, delete,creat…] ON ku_name.tab_name TO ‘username’@‘host’[IDENTIFIED BY ‘PASSWORD’];
解读:授予查询,或删除,哪个库,哪个表,给哪个用户,主机权限。后还可以给没添加密码的用户添加密码,或者重新设置密码。
如果用户不存在,会自动创建并授权。
REVOKE [SELECT,DELETE,CREATE..] ON ku_name.tab_name from ‘username’@’host’;
解读:取消权限的办法。
五,给用户添加密码。
第一种办法
Mysql> SET PASSWORD FOR ‘root’@’localhost’ =PASSWORD(‘123.COM’);
给root添加密码,加密存放
改一个用户密码,或授权,密码和授权存放在内存中,所以要让mysql加
一下才生效。
FLUSH PRIVILEGES;刷新授权表,重新加载。(修改完成,都需重新加载)
第二种办法
Mysqladmin -uroot -h127.0.0.1 –p password ‘ 123.com’;
第三种办法
UPDATE user SET password=PASSWORD(‘123.COM’) WHERE USER=’root’ AND Host=[localhost,127.0.0.1];
解读:修改root密码,是locaohost,还是127.0.0.1,
UPDATE user SET password=PASSWORD(‘123.COM’) WHERE USER=‘root’;
解读:不管是localhost还是127.0.0.1,只要是root用户的,密码全部被修改。
给远程用户添加密码权限
GRANT ALL PRIVILEGES ON *.* TO ‘root’@’192.168.%.%’ IDENTIFIED BY ‘passwprd’
允许192.168网段的所有主机,通过root用户,连接任意表,任意库,密码password
FLUSH PRIVILEGES;
远程登陆:mysql -uroot -p -h192.168.1.1
图形化管理工具
Phpmyadmin
Workbench
Mysql front
Navicat for mysql
Toad
SQLyog