常用mysql语句大全_第1页
常用mysql语句大全_第2页
常用mysql语句大全_第3页
常用mysql语句大全_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MySQL 服务的配置和使用 修改 MySQL 管理员的口令:mysqladmin u root password 密码字符串 如:mysqldmin u root password 111111 连接 MySQL 服务器,使用命令: mysql -h 主机名或 IP 地址 -u 用户名 -p 如:mysql u root p 如已有密码需修改 root 密码用命令: mysqladmin u root p password 新密码字符串 如:mysqladmin u root p password 111111 创建数据库格式为:CREATE DATABASE 数据库名称; 如:mysqlcreate database abc; 默认创建数据库保存在/var/lib/mysql 中 查看数据库是 mysqlshow abc; 选择数据库是 USE 数据库名称; 如:mysqluse abc; 删除数据库是 DROP DATABASE 数据库名称; 如:mysqldrop database abc; 数据库的创建和删除 创建表是 CREATE TABLE 表名称( 字段 1,字段 2,表级约束) TYPE=表类型; 其中字段(1,2 )格式为:字段名 字段类型 字段约束 如创建一个表 student,如下: mysqlcreate table student ( sno varchar(7) not null, 字段不允许为空 sname varchar (20 )not null, ssex char (1) default t, sbirthday date, sdepa char (20), primary key (sno) 表的主键 ); 可用 describe 命令查看表的结构。 默认表的类型为 MYISAM,并在 /var/lib/mysql/abc 目录下建立 student.frm(表定义文件) , student.MDY(数据文件 ),stedent.MYI(索引文件) 。 复制表 CREATE TABLE 新表名称 LIKE 原表名称; 如:mysqlcreate table xtable like student; 删除表 DROP TABLE 表名称 1表名称 2; 如:mysql drop table xtale; 修改表 ALTER TABLE 表名称 更改动作 1动作 2; 动作有 ADD(增加 ) DROP(删除 )CHANGE、MODIFY(更改字段名和类型)RENAME 增加字段:mysqlalter table student add saddress varchar(25); 更改字段名和字段类型: mysqlalter table student change saddress sremark test; 即使不更改字段类型也要给出字段类型如: mysqlalter table student change saddress sremark varchar (25); 更改字段类型 :mysql alter table student modify sremark varchar(25); 删除字段:mysqlalter table student drop sremark; 更改表名称: mysqlalter table student rename to xs; 表中数据的插入、删除和修改 插入记录: INSERT INTO 表名称(字段名 1,字段名 2 VALUES(字段 1 的值,字段 2 的值 如:mysqlinsert into student (sno,sname,ssex,sbirthday,sdepa) values(0321001,Liu Tao,dagault,19870201,math); 查看表 mysqlselect * from student; 插入与前面相同的记录,可用 insert 命令的缩写格式, 如: mysqlinsert into student values (0321001, Liu Tao, default, 19870201, mth); 如果字段名列表中没有给出表中的某些字段,那么这些字段设置为默认值, 如:mysqlinsert into student (sno,sname,sbirthday) values(0321002,Wang Jun,1870112); 一个单独的 insert 语句中可使用多个 valuse 字句,插入多条记录, 如:mysqlinsert into student values (0322001, Zhang Liaoyun, f 1971102,computer), (0322002, Li Ming, t 1971105,computer); 删除记录: DELETE FROM 表名称 WHERE 条件表达式; 如:mysqldelete from student where sno=0321002; 删除 student 表中 sno 字段值前 4 位为0322的记录 如:mysqldelete from student where left (sno,4)=0322; 删除所以记录,可以不带 where 字句 如:mysqldelete from student; 删除所以记录可以用命令 truncate 删除表,然后重建表,所以比 delete 命令快 如:mysqltruncate table student; 修改记录 UPDATE 表名称 SET 字段名 1=字段值 1 WHERE 条件表达式 如: mysqlupdate student set sbirthday=1920113, sdepa=math where sno=0321002; 索引的创建与删除 在创建表的同时创建索引 创建表时,可用 INDEX 字句或 UNIQUE(字段值必须惟一)字句创建索引 如:创建课程表 course, 课程编号 cno 字段为主键,课程名称 cname 字段创建一个名为 can 的索引 mysqlcreate table course( cno varchar(5) not null, cname varchar(30) not null, teacher varchar(20), primary key (cno), index can (cname) ); 向已存在的表添加索引 CREATE UNIQUE INDEX 索引名 ON 表名称 (字段名 1(长度) ; 如:mysqlcreate index sna on student (sname); 对于类型为 CHAR 和 VARCHAR 的字段建立索引时还可指定长度值,类型为 BLOB 和 TEXT 的字段索引时必须指定长度值。 如 mysqlcreate index sna on student (sname(10); 删除索引 DROP INDEX 索引 ON 表名称; 如:mysqldrop index sna on student; 用户的创建和删除 初始化时有 5 个 MySQL 授权表,其中 host、tables_priv 和 columnts_priv 是空的,表 user 和 db 决定了 MySQL 默认的访问规则。默认有 mysql 和 test 两个数据库。 授权表:user 用户从哪些主机可以连接到数据库服务器,以及对所以数据库的访问权限 (全局权限) db 用户可以使用哪些权限,以及对数据库执行哪些操作(数据库级权限) host 当表 db 中的 host 字段值为空时,用户从哪些主机可以连接到数据库服务器。 tables_priv 连接的用户可以访问哪些表(表级权限) columnts_priv 连接的用户可以访问哪些字段 (字段级权限) 创建新用户 以 MySQL 管理员连接到数据库服务器: #mysql u root p 创建新用户 guess 并设置密码,同时可以从任何主机连接数据库服务器: mysqlinsert into mysql.user (host,user,password) values (%,gusee,password(guest); 使用 password()函数,密码是加密的 重载 MySQL 授权表:mysqlflush privileges; 远程客户端连接数据库服务器 :#mysql h 192.168.0.50 u guess p 开放服务器的 TCP 断口 3306 查看当前用户可用数据库: show database 删除用户 mysqldelete from mysql.user where user=guest; mysqlflush privileges; 重载 MySQL 授权表 更改用户密码 如:更改 guset 密码为 123456 mysqlupdate mysql.user set password=password(123456) where user =guset; mysqlflush privileges; 或者是 mysqlset password for guset%=password(123456); 用户权限的设置 在表 user、db 和 host 中,所有字段声明为 ENUM(N,Y),默认是N; 在表 tables_priv 和 columns_priv 中,权限字段声明为 SET 类型 修改授权表中的访问权限有两中方法,一是使用 INSERT、UPDATE 和 DELETE 等 DML 语句, 另一中是 GRANT 和 GRVOKE 语句 使用 GRANT 语句授权: 格式如下: GRANT 权限列表 (字段列表) on 数据库名称.表名称 TO 用户名域名或 IP 地址 INDETIFIED BY 密码值 WITH CRANT OPTION; 授权哪个用户能连接,从哪连接 如:授权用户 guest 从任意主机连接数据库服务器,并具有完全访问数据库 abc 的权限。 Mysqlgrant all on abc.* to guset% identified by guest 注意几点:如指定用户不存在,则创建该新用户; 权限列表处 ALL 表示授予全部权限, USAGE 表不授予任何权限。 数据库名称.表名称处可以使用通配符“*”。如“abc.*”表数据库 abc 中所有表 用户名域名或 IP 地址设置谁能连,从哪连。用户名 不能用通配符,但可以用 空字符串,表任何用户;域名或 IP 地址可以用通配符“%”,使用是用单引号括起来。 授权用户不同级别的访问权限 如:新建用户 tom,能从子网 192.168.16.0 访问数据库服务器,可以读取数据库 xsxk,并能 修改表 course 中字段 teacher 的值 mysqlgrant select on xsxd.* to tom192.168.16.% indentifiend by 123456; mysqlgrant update(teacher) on xsxd.course to tom192.168.16.% 注意几点:数据库名称.表名称 用来设置权限运用的级别,有全局的(*.*),指定数据库 的(xsxd.*) 和指定表的(xsxd.student ); 字段列表 设置权限运用中指定的表中的哪些字段,如 update(cname,teacher) 权限列表 指定的权限与权限运行的级别有关,如有写权限 (FILE、PROCESS 、RELOAD、SHUTDOWN)作为管理权限用于全局级别;对于字段级 别只能指定 SELECT、INSERT、UPDATE、REFERENCES 授予用户管理权限的权利 如:管理员授予拥护 admin 可以从本地连接数据库服务器,对数据库 xsxk 具有完全访问 权限,并可以 将拥有的权限赋予其他用户 mysqlgrant all on xsxd.* to adminlocalhost indentified by 123456 with grant option; 其中 with grant option 子句表示拥护拥有的权限可以赋予其他用户。 mysqlqrant select on xsxd.student to billlocalhost; 授予 bill 用户权限 mysqlshow grants

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论