<p>一、操作库</p>
--列出有所有的数据库 mysql> show databases; --创建库 例如创建名字为jgcao的库 mysql> create database jgcao; --使用库 例如使用名字为jgcao的库 mysql> use jgcao; -- 删除库 例如删除名字为jgcao的库 mysql> drop database jgcao;
--创建表 例如创建表test mysql> create table test; --有条件创建表 例如创建表test mysql> create table if not exists test; --复制表 mysql> create table new_test select * from test; --创建临时表 例如创建表test mysql> create temporary table test; -- 查看可用表 mysql> show tables; --查看表结构 例如查看表test的表结构 mysql> show columns in test; --删除表 例如删除表test mysql> drop table test ; --表的详细描述 例如查询表test的描述 mysql> describe tablename; --修改表结构 mysql> alter table `test` ADD `date` int( 11 ) \ mysql> NOT NULL DEFAULT '0' after `id`; mysql> alter table `test` change `date` `timestamp` \ mysql> int( 11 ) NOT NULL DEFAULT '0' ; mysql> alter table `test` drop `date`;
--增加新行 mysql> INSERT INTO 表名称 VALUES (值1, 值2,....) --指定列名插入 mysql> INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....) --更新修改数据 mysql> UPDATE 表名称 SET 列名称 = 新值,列名称2 = 新值2 WHERE 列名称 = 某值 --删除行 mysql> DELETE FROM 表名称 WHERE 列名称 = 值 --删除所有行 mysql> DELETE FROM table_name; mysql> DELETE * FROM table_name;
--查询结果 mysql> SELECT now(); --从数据库中,查询一个列或多个列 mysql> SELECT 列名称 FROM 表名称 --从数据库中,查询全部列 mysql> SELECT * FROM 表名 --返回唯一值,就是不要重复的值 mysql> SELECT DISTINCT 列名称 FROM 表名称 --表联合查询 mysql> SELECT 列名称 FROM 表名称1 [INNER | CROSS | LEFT | OUT] join 表名称2 on 两个表连接条件 --条件查询 mysql> SELECT 列名称 FROM 表名称 WHERE 列 运算符 值 -- = 等于 -- <> 不等于 -- > 大于 -- < 小于 -- >= 大于等于 -- <= 小于等于 -- BETWEEN 在某个范围内 -- LIKE 搜索某种模式 -- AND 与 -- OR 或 --排序语句 mysql> SELECT 列名,列名 FROM 表名 ORDER BY 被排序的列名 DESC(加这句可以降序排列) --分组语句 mysql> SELECT 列名,列名 FROM 表名 GROUP BY 被排序的列名 --分段查询,offset:开始记录;rows:记录数量 mysql> SELECT 列名,列名 FROM 表名 LIMIT offset,rows
--登录mysql
shell> mysql -u root -p
--修改用户密码
mysql> update user set password=password("password") \
mysql> where user=’root’;
--刷新数据库
mysql> flush privileges
--增加新用户 --格式: mysql> grant privileges on database[.table] to user@host \ mysql> identified by “password” [WITH GRANT OPTION] --解释 --privileges 对数据库的操作权限 --database 数据库 --table 表 --user 用户名称 --host 登录主机地址 --password 登录密码 --WITH GRANT OPTION 设定用户是否有授权的权限 --privileges 常用列举 --ALL [PRIVILEGES] 设置除GRANT OPTION之外的所有简单权限 --ALTER 允许使用ALTER TABLE --CREATE 允许使用CREATE TABLE --CREATE TEMPORARY TABLES 允许使用CREATE TEMPORARY TABLE --CREATE USER 允许使用CREATE USER, DROP USER, RENAME USER和REVOKE ALL PRIVILEGES。 --CREATE VIEW 允许使用CREATE VIEW --DELETE 允许使用DELETE --DROP 允许使用DROP TABLE --EXECUTE 允许用户运行已存储的子程序 --FILE 允许使用SELECT...INTO OUTFILE和LOAD DATA INFILE --INDEX 允许使用CREATE INDEX和DROP INDEX --INSERT 允许使用INSERT --LOCK TABLES 允许对您拥有SELECT权限的表使用LOCK TABLES --SELECT 允许使用SELECT --SHOW DATABASES SHOW DATABASES显示所有数据库 --SHUTDOWN 允许使用mysqladmin shutdown --UPDATE 允许使用UPDATE --GRANT OPTION 允许授予权限 --授权例子 --创建一个可以从任何地方连接服务器的一个完全的超级用户 mysql> grant all privileges on *.* to 'admin'@'%' \ mysql> identified by ’jgcao’ with grant option; --创建一个用户jgcao在特定客户端192.168.1.108登录,可访问特定数据库lines mysql> grant select, insert, update, delete, create, drop \ mysql> on lines.* to 'jgcao'@'192.168.1.108' identified by ‘passwd’; --删除授权: --格式 --revoke privileges ON database[.table] from user@host --解释 --privileges 对数据库的操作权限 --database 数据库 --table 表 --user 用户名称 --host 登录主机地址 --删除授权例子 --解除root的所有权限 mysql> revoke all privileges on *.* from 'root'@'%'; mysql> delete from user where user=”root” and host=”%”; mysql> flush privileges;