您现在的位置是:首页 > 领风资讯 > >> 返回

Mysql的一些命令
装好mysql数据库后,会有一个默认本地用户root,密码在你装数据库期间会提示你输入一个密码,那个就是你的root密码虽然别的用户也可以登录到数据库但是权限少的可怜装好数据库后我们可以通过注释掉配置文件/etc/mysql/my.cnf中的bind-address = 127.0.0.1这行来使mysql可以远程登录(然后重启有效)
在命令行模式下修改用户密码的方式:mysqladmin -u root -p password "新的密码";(不过在你修改密码时,会让你先输入你的旧密码)登录本地mysql数据库 ”mysql -u root -p “回车它会让你输入密码,输入正确密码就可以登录了连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:mysql -h110.110.110.110 -uroot -pabcd123(注:u与root可以不用加空格,其它也一样)登录mysql数据库后使用的命令:(注意写完命令后要加个分号来)命令字母可以不区分大小写显示当前使用者的名字:select user();查看所有的用户:select user,host,password from mysql.user;显示当前用户的权限:show grants for 用户名@localhost;(当然用户必须是在数据库中已经建立的用户,如果不是会显示错误)创建新用户: create user username identified by ‘password’(此用户没有任何权限或没有任何身份);还可以这样建新用户: grant select,insert,update,delete on *.* to test2@localhost identified by ’abc‘;删除新用户:Delete FROM mysql.user Where User='test' and Host='localhost';刷新系统权限表:flush privileges; 选择数据库:use databasename;然后可以对数据库进行操作;创建数据库:create database databasename;删除数据库:drop database databasename;查看表:show tables;修改表名:alter table tablename rename newtablename;查看表的结构:desc tablename;或者是 show columns from tablename;删除表:delete from tablename;或者truncate tablename; delete的效果是将mysql表中所有记录一条一条删除到删完,而truncate相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表,因此效率上truncate比delete快,并且不可恢复数据 。1) 创建一张学生表,包含以下信息,学号,姓名,年龄,性别,家庭住址,联系电话 create table student ( 学号 int, 姓名 varchar(10), 年龄 int, 性别 varchar(4), 家庭住址 varchar(50), 联系电话 varchar(11));(注意里面的英文、数字和括号用英文格式书写)2) 修改学生表的结构,添加一列信息,学历 alter table student add column 学历 varchar(6);alter table test modify 性别 char(10) --修改表列类型3) 修改学生表的结构,删除一列信息,家庭住址 alter table student drop column 家庭住址;//注意此处用drop而非delete4) 向学生表添加如下信息: 学号 姓名年龄性别联系电话学历
1A22男123456小学
2B21男119中学
3C23男110高中
4D18女114大学 insert into student (学号,姓名,年龄,性别,联系电话,学历) values(1,"A",22,"男","123456","小学");(当插入的中文不能识别时,可用nchar()或nvarchar(),改用unicode编码而不用ASCii编码)insert into student (学号,姓名,年龄,性别,联系电话,学历) values(1,"B",21,"男","119","中学");insert into student (学号,姓名,年龄,性别,联系电话,学历) values(1,"C",23,"男","123456","高中");insert into student (学号,姓名,年龄,性别,联系电话,学历) values(1,"D",23,"女","114","大学");5) 修改学生表的数据,将电话号码以11开头的学员的学历改为“大专”update student set 学历="大专" where 联系电话 like "11%";6) 删除学生表的数据,姓名以C开头,性别为‘男’的记录删除 delete from student where 姓名 like "C" and 性别="男";7) 查询学生表的数据,将所有年龄小于22岁的,学历为“大专”的,学生的姓名和学号示出来 select 姓名,学号 from student where 年龄<22 and 学历="大专";8) 查询学生表的数据,查询所有信息,列出前25%的记录 select top 25 percent * from student ; ????select * from student limit 25%;???? 这条有问题,在sql 2000中应该是select top 25 percent * from student ;9) 查询出所有学生的姓名,性别,年龄降序排列 select 姓名,性别,年龄 from student order by 年龄 desc;10) 按照性别分组查询所有的平均年龄 select avg(年龄) as 平均年龄 from student group by 性别;select avg(年龄) from student group by 性别;select avg(年龄) 平均年龄 from student group by 性别;3) 说出以下聚合数的含义:avg ,sum ,max ,min , count ,count(*) AVG:求平均值
SUM:求和
MAX:求最大值
MIN:求最小值
COUNT(*):返回所有行数
COUNT返回满足指定条件的记录值