来源:自学PHP网 时间:2015-04-16 10:50 作者: 阅读:次
[导读] 一、数据库级操作1、登陆mysql 常用的 26684;式是 mysql -u user_name -p 按下回车后输入密码再次回车即可进入。2、查看当前已经存在的所有数据库 show databases;...
一、数据库级操作 1、登陆mysql 常用的格式是 mysql -u user_name -p 按下回车后输入密码再次回车即可进入。 2、查看当前已经存在的所有数据库 show databases; (注意,分号不可省略。少数命令可以忽略分号,但大部分的mysql命令都必须以分号结尾) 3、选择数据库 知道所有数据库名称后,需要选择某个具体的数据库进行操作,其命令为: use database_name; (注意,这个命令是少数可以忽略分号的命令之一) e.g. use students; 4、创建数据库 create database database_name; (这里可能需要root权限) e.g. create database one; 这将创建名为one的数据库。 5、删除数据库 drop database database_name; 二、表级操作 1、查看当前数据库的所有表名 show tables; 2、查看某个表中的所有列名(属性信息) describe table_name;(也可以简写为:desc table_name;) show columns from table_name; show create table table_name; 3、查看表中的某一列 select column_1 from table_name; 若想查看某几列则需要用逗号隔开列名,如:select column_1, column_2 from table_name; 也可以使用通配符* 查看所有列,如:select * from table_name; 4、创建表 create table table_name (column_name1 type constraint, column_name2 type constraint, ..., column_nameX type constraint, primary key (column_name)); 这里的constraint包括not null(非空)、unique(不能重复)等,是选填的,即可以没有; type包括char(n) varchar(n) int numeric float real double precision;(注意,mysql的字符串要用单引号括起来) 最后面的主键约束是必须要有的,primary key()括号里面的属性可以是一个,也可以是逗号隔开的几个。 5、删除表 drop table table_name; (这将彻底删除此表,即show tables;命令不会再显示它) (注意与之相近的一个命令:delete from table_name; 这个命令只是清空该表,但是表模式仍然存在,即show tables;命令仍然显示它) 6、向表中添加/删除列名(属性名) alter table table_name add column_name type; alter table table_name drop column_name; 7、修改表中的某个列 alter table table_name change old_col new_col type; 三、行级操作 1、向表中添加行(记录,record) insert into table_name values(....); (注意,括号里面的值必须要对应创建表时列的前后顺序,且用逗号隔开) 如果忘了列名的顺序且嫌查看顺序麻烦,可以用这种形式: insert into table table_name(col_1, col_2, ... col_n) values (val_1, val_2, ... val_n); 这时只要val_n对应col_n就行了,而不用去管列名的真正顺序。 2、删除表中特定的行 delete from table_name where P; P是一个条件,一般格式是:col_name = value,即属性等于某个值的一行。 3、修改/更新行 update table_name set col_name = new_val where P; 四、用户权限操作(一般需要root权限) 1、查看所有存在用户 select user from mysql.user; 2、查看当前用户 select user(); 3、创建一个用户 create user user_name identified by 'passwd'; 这就创建了一个名为user_name的用户,其可以使用密码passwd登陆mysql,但是其权限仅限于登陆而已,登陆之后什么也做不了。这就需要在赋予其相关权限之后才能进行某些操作。 如果没有后面的 identified by 'passwd',将会创建一个无密码的用户,登陆是只需输入 mysql -u user_name回车即可,不必再输入密码。 上面这条命令的效果和下面这条是一样的(前提是用root登陆): insert into mysql.user(Host,User,Password) values('localhost','user_name',password('passwd')); 他们本质上都是修改了mysql的元数据库mysql中的表user,这个表记录着mysql的所有用户信息。注意到,第二条命令多了一个参数Host,这在第一条命令中是被默认的,但是在第二条中是必不可少的,否则将无法登陆本机的mysql。 当然Host的值是可以改动的,对于第二条命令,其改动是显然的;对于第一条命令,如果不想选择默认值'localhost',可以这样: create user_name@other_host identified by 'passwd'; 4、赋予用户相关权限 权限的范围包括经典的“增删改除”,以及代表所有的all等。整体格式如下: grant privilege_list on database_name.table_name to user_name@'host_name'; privilege_list可以是select/update/delete/insert中的一个或几个(逗号隔开),或者直接用all代替,代表所有权限; on则将权限限定在某个数据库的某个表上,这里可以使用通配符*代表所有,如database_one.* 就意味着在database_one的所有表上都有权限,当然database_name也可以用*替代 ; to后面跟的是user_name, 后面的@'host_name'可以省略,默认值为localhost,也可以使用通配符%来代表所有主机。需要注意的是,如果user_name本来不存在的话,这个命令将创建一个新的用户,其名称就是user_name, 这就是另一种创建用户的方法,而且同时赋予了相关权限,我本人一般使用这种方法。需要密码的话,可以在后面添上 identified by 'passwd',否则就是无密码用户。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com