1、mysql基本命令数据库asb 表yg一.mysql的常用命令1.create database name; 创建数据库 (create 内部命令)mysqlcreate database asb;2.use databasename; 选择数据库 (use内部命令)mysqluse asb;3.drop database name 直接删除数据库,不提醒 (drop内部命令)mysqldrop database asb;4.drop table name 直接删除表mysqldrop table yg;5.create table name;创建表mysqlcreate table yg;前
2、提是先mysqluse asb;6.show databases显示所有数据库mysqlshow databases;7.show tables; 显示数据库中的表 (show内部命令)mysqlshow tables;提是先mysqluse asb;8.describe tablename; 显示表的详细描述mysqldescribe yg;9.select version(),current_date; 显示当前mysql版本和当前日期mysqlselect version(),current_date;mysqlselect version(),-current_date;select
3、内部命令?10.mysqlflush privileges 刷新数据库11.mysql实现修改用户密码:11.1 update 修改shellmysql -u root -pmysql update mysql.user set password=PASSWORD(新密码) where User=root;mysql flush privileges;mysql quit11.2 mysqladmin修改用户密码shellmysqladmin -u root password new_password*11.3 自己测试未通过shellmysql -u root -pmysqlSET PASS
4、WORD FOR root=PASSWORD(root);12.创建帐号mysql grant all(delete,updatae,create,drop,insert) privileges on *.* to 用户localhost identified by 密码;13.重命名表:mysql alter table t1 rename t2; 把表t1重命名为t214.备份数据库14.1 导出整个数据库mysqldump -u 用户名 -p 数据库名 导出的文件名mysqldump -u root -p asb d:asb.sql14.2 导出一个表mysqldump -u 用户名 -
5、p 数据库名 表名 导出的文件名mysqldump -u root -p asb ygd:yg.sql14.3 导出一个数据库结构mysqldump -u wcnc -p -d -add-drop-table smgp_apps_wcnc d:wcnc_db.sql(-d 没有数据 -add-drop-table 在每个create语句之前增加一个drop table)mysqldump mysqladmin外部命令14.4 导入数据库用source 命令进入mysql数据库控制台,先建立数据库,use数据库mysql -u root -pmysqlcreate asb;mysqluse 数据
6、库mydqlsource d:asb.sql;14.5 导入表进入数据库,执行导入操作mysqluse asb;mysqlsource d:yg.sql;15.将表中记录清空:mysqldelete from yg;16.显示表中的记录:mysqlselect * from yg;17.一个建库和建表以及插入数据的实例drop database if exists school; /如果存在SCHOOL则删除create database school; /建立库SCHOOLuse school; /打开库SCHOOLcreate table teacher /建立表TEACHER(id in
7、t(3) auto_increment not null primary key,name char(10) not null,address varchar(50) default 深圳,year date); /建表结束/以下为插入字段insert into teacher values(,glchengang,深圳一中,1976-10-10);insert into teacher values(,jack,深圳一中,1975-12-23);注:在建表中(1) 将ID设为长度为3的数字字段:int(3),并让它每个记录自动加一: auto_increment,并不能为空:not null
8、,而且让它成为主字段primary key(2) 将NAME设为长度为10的字符字段(3) 将ADDRESS设为长度50的字符字段,而且缺省值为深圳。varchar和char有什么区别呢,只有等以后的文章再说了。(4) 将YEAR设为日期字段。如果你在mysql提示符键入上面的命令也可以,但不方便调试。 你可以将以上命令原样写入一个文本文件中假设为school.sql,然后复制到c:下,并在DOS状态进入目录mysqlin,然后键入以下命令:mysql -uroot -p密码 use mysql;mysqldelete from User where User=;mysqlupdate Use
9、r set Password=PASSWORD(newpassword) where User=root;22.新增用户格式:grant select on 数据库.* to 用户名登录主机 identified by 密码例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MySQL,然后键入以下命令:mysqlgrant select,insert,update,delete on *.* to test1% Identified by abc;但例1增加的用户是十分危险的,你想如某个人知道test1的密
10、码,那么他就可以在internet上的任何一台电脑上登录你的MySQL数据库并对你的数据可以为所欲为了,解决办法见例2。例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MySQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MySQL主机上的web页来访问。mysqlgrant select,insert,update,delete on mydb.* to test2localhost identified
11、by abc;如果你不想test2有密码,可以再打一个命令将密码消掉。mysqlgrant select,insert,update,delete on mydb.* to test2localhost identified by ;下面我们来看看MySQL中有关数据库方面的操作。注意:你必须首先登录到MySQL中,以下操作都是在MySQL的提示符下进行的,而且每个命令以分号结束。?在进行开发和实际应用中,用户不应该只用root用户进行连接数据库,虽然使用root用户进行测试时很方便,但会给系统带来重大安全隐患,也不利于管理技术的提高。我们给一个应用中使用的用户赋予最恰当的数据库权限。如一个只
12、进行数据插入的用户不应赋予其删除数据的权限。MySql的用户管理是通过User表来实现的,添加新用户常用的方法有两个,一是在User表插入相应的数据行,同时设置相应的权限;二是通过GRANT命令创建具有某种权限的用户。其中GRANT的常用用法如下:mysqlgrant all on mydb.* to NewUserNameHostName identified by password;mysqlgrant usage on *.* to NewUserNameHostName identified by password;mysqlgrant select,insert,update on
13、mydb.* to NewUserNameHostName identified by password;mysqlgrant update,delete on mydb.TestTable to NewUserNameHostName identified by password;23.对常用权限的解释:23.1 全局管理权限:FILE:在MySQL服务器上读写文件。PROCESS:显示或杀死属于其它用户的服务线程。RELOAD:重载访问控制表,刷新日志等。SHUTDOWN:关闭MySQL服务。23.2 数据库/数据表/数据列权限:Alter:修改已存在的数据表(例如增加/删除列)和索引。C
14、reate:建立新的数据库或数据表。Delete:删除表的记录。Drop:删除数据表或数据库。INDEX:建立或删除索引。Insert:增加表的记录。Select:显示/搜索表的记录。Update:修改表中已存在的记录。23.3 特别的权限:ALL:允许做任何事(和root一样)。USAGE:只允许登录-其它什么也不允许做。最后给出在RedHat9.0下的MySql操作演示:选用数据库的root用户登录weiwenweiwenlinux$mysql -uroot -pEnterpassword:MyPasswordmysqlcreate database mydb;QueryOK,1rowaf
15、fected(0.02sec)mysqluse mydb;Databasechangedmysqlcreate table TestTable(Idintaut_increment primary key,UserNamevarchar(16) not null,Address varchar(255);QueryOK,0rowsaffected(0.02sec)mysqlgrant all on mydb.* to testlocalhost identified by test;QueryOK,0rowsaffected(0.01sec)mysqlquitByeweiwenweiwenli
16、nux$mysqlmydb -utest -ptest其中test.sql是用vi编辑好的SQL脚本,其内容为:Insert into TestTable(UserName,Address) values(Tom,shanghai);Insert into TestTable(UserName,Address) values(John,beijing);select * from TestTable;运行已经编辑好的SQL脚本可以用source filename或.filename。以上只是对新手的简单练习,要成为一个数据库好手,当以孜孜不倦地追求知识,不断地思考、尝试、再思考。24.MySq
17、l常用命令总结24.1 使用SHOW语句找出在服务器上当前存在什么数据库:mysqlSHOW DATABASES;24.2 创建一个数据库MYSQLDATAmysqlCreate DATABASE MYSQLDATA;24.3 选择你所创建的数据库mysqlUSE MYSQLDATA;(按回车键出现Databasechanged时说明操作成功!)24.4 查看现在的数据库中存在什么表mysqlSHOW TABLES;24.5 创建一个数据库表mysqlCreate TABLEMYTABLE(name VARCHAR(20),sex CHAR(1);24.6 显示表的结构:mysqlDESCRI
18、BE MYTABLE;24.7 往表中加入记录mysqlinsert into MYTABLE values(hyq,M);24.8 用文本方式将数据装入数据库表中(例如D:/mysql.txt)mysql LOAD DATA LOCAL INFILE D:/mysql.txt INTO TABLE MYTABLE;24.9 导入.sql文件命令(例如D:/mysql.sql)mysqluse database;mysqlsource d:/mysql.sql;24.10 删除表mysqldrop TABLE MYTABLE;24.11 清空表mysqldelete from MYTABLE;
19、24.12 更新表中数据mysqlupdate MYTABLE set sex=f where name=hyq;25.启动mysql25.1安装删除mysql服务,系统盘下windows文件夹下my.ini文件,设置mysql的路径等功能my.ini文件配置如下:mysqldbasedir=D:/Program Files/mysql#bind-address=ipdatadir=D:/Program Files/mysql/data#language=D:/Program Files/mysql/share/your language directory#slow query log#=#
20、tmpdir#=#port=3306set-variable?= max_connections=1500skip-locking#skip-networkingset-variable?= key_buffer=384Mset-variable?= max_allowed_packet=1Mset-variable?= table_cache=512set-variable?= sort_buffer=2Mset-variable?= record_buffer=2Mset-variable?= thread_cache=8# Try number of CPUs*2 for thread_
21、concurrencyset-variable?= thread_concurrency=8set-variable?= myisam_sort_buffer_size=64M#set-variable?= connect_timeout=5#set-variable?= wait_timeout=5server-id?= 1isamchkset-variable?= key_buffer=128Mset-variable?= sort_buffer=128Mset-variable?= read_buffer=2Mset-variable?= write_buffer=2Mmyisamchk
22、set-variable?= key_buffer=128Mset-variable?= sort_buffer=128Mset-variable?= read_buffer=2Mset-variable?= write_buffer=2MWinMySQLadminServer=D:/Program Files/mysql/bin/mysqld-nt.exe安装mysql服务命令,进入mysql安装目录bin下:mysqld-nt -install删除mysql服务mysqld-nt -remove25.2 启动停止mysql启动mysql进入mysql安装目录bin下:net start m
23、ysql停止mysqlnet stop mysql26. 给表改名:mysqlRENAME TABLE ztemp TO ztemp4;27. 修改字段属性:mysqlALTER TABLE bbabase CHANGE news_id id VARCHAR(5) NOT NULL;28. 在表中的content后增加一字段:mysqlALTER TABLE bbabase ADD leave_time DATETIME NOT NULL AFTER content;29. SHOW STATUS命令获得一份服务器运行与统计的报告,包括打开连接的次数,激活查询次数,服务器正常运行时间等等。mysql SHOW STATUS;+-+-+| Variable_name| Value |+-+-+| Aborted_clients| 0| Aborted_connects | 0|.| Uptime| 851|+-+-+156 rows in set (0.16 sec)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1