Mysql学习之命令行用法汇总
MySQL常用命令
MySQL常用命令MySQL是一种常用的开源关系型数据库管理系统,被广泛应用于各种Web应用程序和企业级应用程序。
本文将介绍一些常用的MySQL命令。
连接与退出连接到MySQL数据库服务器并开始会话,可以使用以下命令:mysql -u [username] -p其中`[username]`是你的MySQL用户名。
输入该命令后,会提示你输入密码进行验证,验证通过后将进入MySQL命令行界面。
退出MySQL命令行界面,可以使用以下命令:exit数据库操作创建数据库要创建一个新的数据库,可以使用以下命令:CREATE DATABASE [database_name];其中`[database_name]`是你要创建的数据库的名称。
使用数据库要使用一个已经存在的数据库,可以使用以下命令:USE [database_name];其中`[database_name]`是你要使用的数据库的名称。
查看数据库要查看当前MySQL服务器上的所有数据库,可以使用以下命令:SHOW DATABASES;该命令将列出所有数据库的名称。
删除数据库如果你不再需要某个数据库,可以使用以下命令将其删除:DROP DATABASE [database_name];其中`[database_name]`是你要删除的数据库的名称。
请注意,该操作是不可逆的。
表操作创建表要在数据库中创建一个新的表,可以使用以下命令:CREATE TABLE [table_name] ([column1] [data_type1],[column2] [data_type2],...);其中`[table_name]`是你要创建的表的名称,`[column1] [data_type1]`表示表的第一个列及其数据类型,`[column2] [data_type2]`表示表的第二个列及其数据类型,以此类推。
查看表要查看某个数据库中的所有表,可以使用以下命令:SHOW TABLES;该命令将列出该数据库中的所有表的名称。
mysql命令参数
mysql命令参数MySQL命令参数详解MySQL作为一种流行的关系型数据库管理系统,其常用的命令参数也是必须掌握的技能之一。
在本文中,我们将详细介绍MySQL的常用命令参数,包括参数的含义、用法以及实际应用场景。
1. -h, --host该参数用于指定MySQL服务器的主机名或IP地址。
例如,可以使用以下命令连接到MySQL服务器:mysql -h localhost -u username -p password其中,localhost表示本地主机,username表示用户名,password表示密码。
2. -P, --port该参数用于指定MySQL服务器的端口号。
默认情况下,MySQL服务器的端口号为3306。
例如,可以使用以下命令连接到MySQL服务器:mysql -h localhost -P 3306 -u username -p password其中,3306表示MySQL服务器的端口号。
3. -u, --user该参数用于指定MySQL服务器的用户名。
例如,可以使用以下命令连接到MySQL服务器:mysql -h localhost -u username -p password其中,username表示MySQL服务器的用户名。
4. -p, --password该参数用于指定MySQL服务器的密码。
例如,可以使用以下命令连接到MySQL服务器:mysql -h localhost -u username -p password其中,password表示MySQL服务器的密码。
5. -D, --database该参数用于指定要连接的MySQL数据库名称。
例如,可以使用以下命令连接到MySQL服务器:mysql -h localhost -u username -p password -D dbname其中,dbname表示要连接的MySQL数据库名称。
6. -e, --execute该参数用于指定要在MySQL服务器上执行的SQL语句。
mysql数据库命令大全
mysql数据库命令大全MySQL数据库命令大全。
MySQL是一种开源的关系型数据库管理系统,广泛应用于Web应用程序的开发中。
在使用MySQL数据库时,我们需要掌握一些基本的数据库命令,以便对数据库进行管理和操作。
本文将为大家详细介绍MySQL数据库命令大全,帮助大家更好地使用MySQL数据库。
1. 连接数据库。
在使用MySQL数据库之前,首先需要连接数据库。
可以使用以下命令连接到MySQL数据库:```。
mysql -u username -p。
```。
其中,-u参数用于指定用户名,-p参数表示需要输入密码。
输入密码后,即可成功连接到MySQL数据库。
2. 创建数据库。
创建数据库是使用MySQL数据库的第一步。
可以使用以下命令创建数据库:```。
CREATE DATABASE database_name;```。
其中,database_name为要创建的数据库的名称。
执行该命令后,即可成功创建一个新的数据库。
3. 删除数据库。
如果需要删除数据库,可以使用以下命令:```。
DROP DATABASE database_name;```。
执行该命令后,即可删除指定的数据库。
4. 显示数据库。
要查看当前MySQL数据库中存在哪些数据库,可以使用以下命令:```。
SHOW DATABASES;```。
该命令将列出所有的数据库名称。
5. 使用数据库。
在操作数据库之前,需要先选择要使用的数据库。
可以使用以下命令选择数据库:```。
USE database_name;```。
执行该命令后,即可选择要使用的数据库。
6. 创建表。
在数据库中,数据以表的形式进行存储。
可以使用以下命令创建表:```。
CREATE TABLE table_name (。
column1 datatype,。
column2 datatype,。
column3 datatype,。
...);```。
其中,table_name为要创建的表的名称,column1、column2等为表的列名,datatype为列的数据类型。
如何使用mysql命令行基本命令大全
如何使用mysql命令行基本命令大全MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
我们就要善于使用mysql命令行,从数据库的建立到表数据的删除,小编都给大家整理出来了,请看下文。
如何使用mysql命令行?1、登陆mysql打cmd命令终端,如果已经添加了mysql的环境变量,可以直接使用命令01mysql -uroot直接回车,之后按提示输入密码,如果未添加mysql的环境变量,可以切换到mysql的安装目录下的bin目录,再使用01mysq -uroot你也可以手动为mysql添加环境变量。
这里就不介绍怎么添加环境变量的方法了密码输入正确之后,就会出现“Welcome to the MySQL monitor. Commands end with ; or \g. ......”字样,命令行出现“mysql》”字符前缀。
现在你就可以使用命令对mysql进行操作了。
曾经有没有过这样的经历,原来看见别人在命令行里面咔咔的猛敲时,就一通的崇拜,觉得这人很牛,现在你也可以让别一通崇拜了。
mysql的所有命令都以“;”或者\g为结束符2、新建数据库在新建数据库之后,我们先设置一下字符集01mysql>SET NAMES utf8;然后再创建数据库01mysql>CREATE DATABASE lesson3、显示所有数据库01mysql>SHOW DATABASES;4、使用数据库01mysql>USE 数据库名;5、新建表01mysql>CREATE TABLE study(02id int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '学生id号',03username varchar(30) NOT NULL DEFAULT '' COMMENT '学生名字',04class tinyint(3) unsigned NOT NULL,05sex enum('男','女','保密') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '保密' COMMENT '性别', 06addtime int(10) NOT NULL DEFAULT '0',07PRIMARY KEY (id)08)ENGINE=InnoDB COMMENT = '学生表';6、显示所有表01mysql>SHOW TABLES;7、修改表的名称01mysql>RENAME TABLE study TO study_new;或者01mysql>ALTER TABLE study_new RENAME TO study;8、显示字段信息01SHOW COLUMNS FROM study或者01DESCRIBE study9、插入数据01mysql> insert into study (username,class,sex)VALUES('小王',1,'男'),('小四',2,'女');10、查询数据(使concat函数拼接数据)01mysql> SELECT username,CONCAT(class,'班'),sex FROMstudy;11、删除数据01mysql>DELETE FROM study WHERE id=1;12、删除数据表01DROP TABLE study;13、删除数据库01mysql> DROP DATABASE lesson;补充:MySQL 数据库常用命令create database name; 创建数据库use databasename; 进入数据库drop database name 直接删除数据库,不提醒show tables; 显示表describe tablename; 查看表的结构select 中加上distinct去除重复字段mysqladmin drop databasename 删除数据库前,有提示。
MYSQL操作大全
MySQL 操作命令大全SQL 基础命令教程 一.SQL 能做什么? SQL 面向数据库执行查询 SQL 可从数据库取回数据 SQL 可在数据库中插入新的记录 SQL 可更新数据库中的数据 SQL 可从数据库删除记录 SQL 可创建新数据库 SQL 可在数据库中创建新表 SQL 可在数据库中创建存储过程 SQL 可在数据库中创建视图 SQL 可以设置表、存储过程和视图的权限二.SQL DML 和 DDL可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。
查询和更新指令构成了 SQL 的 DML 部分: SELECT - 从数据库表中获取数据 UPDATE - 更新数据库表中的数据 DELETE - 从数据库表中删除数据 INSERT INTO - 向数据库表中插入数据SQL 中最重要的 DDL 语句: CREATE DATABASE - 创建新数据库 ALTER DATABASE - 修改数据库 CREATE TABLE - 创建新表 ALTER TABLE - 变更(改变)数据库表 DROP TABLE - 删除表 CREATE INDEX - 创建索引(搜索键) DROP INDEX - 删除索引(一) SQL SELECT 语法 SELECT 列名称 FROM 表名称 以及: SELECT * FROM 表名称注释:SQL 语句对大小写不敏感。
SELECT 等效于 select。
Persons" 表: Id 1 LastName Adams FirstName John Address Oxford Street City London1MySQL 操作命令大全2 3Bush CarterGeorge ThomasFifth Avenue Changan StreetNew York BeijingSELECT LastName,FirstName FROM Persons SELECT*FROM Persons(二) SELECT DISTINCT 语句在表中,可能会包含重复值。
MySQL常用命令及参数详解
MySQL常用命令及参数详解MySQL是目前最流行的关系型数据库管理系统之一,广泛应用于各个领域的数据存储和管理。
作为开发人员或者数据库管理员,熟悉并掌握MySQL的常用命令和参数是必不可少的。
本文将详细介绍MySQL常用命令及参数。
一、连接MySQL连接MySQL是进行数据库操作的第一步,下面是连接MySQL的常用命令及参数:1. mysql -u username -p:连接MySQL数据库,-u参数指定用户名,-p参数用于输入密码。
2. mysqladmin -u username -p password 'newpassword':修改MySQL用户的密码。
3. mysqlshow -u username -p:列出指定用户的数据库。
二、数据库操作数据库是存储和管理数据的基本单位,下面是数据库操作的常用命令及参数:1. CREATE DATABASE database_name:创建一个新的数据库。
2. DROP DATABASE database_name:删除指定的数据库。
3. USE database_name:选择要使用的数据库。
4. SHOW DATABASES:列出所有的数据库。
三、数据表操作数据表是数据库中最主要的数据组织形式,下面是数据表操作的常用命令及参数:1. CREATE TABLE table_name (column1 datatype constraint, column2 datatype constraint):创建一个新的数据表,并指定表名、列名、数据类型以及约束条件。
2. ALTER TABLE table_name ADD column_name datatype constraint:向指定的数据表中添加新列。
3. ALTER TABLE table_name DROP COLUMN column_name:从指定的数据表中删除列。
Mysql常用命令行大全
use mysql;
delete from User where User="";
update User set Password=PASSWORD(newpassword) where User=root;
(注:u与root可以不用加空格,其它也一样)
3、退出MYSQL命令: exit (回车)
=====================================================================
1:使用SHOW语句找出在服务器上当前存在什么数据库:
mysql> SHOW DATABASES;
5:创建一个数据库表
mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
6:显示表的结构:
mysql> DESCRIBE MYTABLE;
7:往表中加入记录
mysql> insert into MYTABLE values ("hyq","M");
8:用文本方式将数据装入数据库表中(例如D:/mysql.txt)
mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;
9:导入.sql文件命令(例如D:/mysql.sql)
mysql命令大全
mysql命令大全1、MySQL常用命令create database name; 创建数据库use databasename; 选择数据库drop database name 直接删除数据库,不提醒show tables; 显示表describe tablename; 表的详细描述select 中加上distinct去除重复字段mysqladmin drop databasename 删除数据库前,有提示。
显示当前mysql版本和当前日期select version(),current_date;2、修改mysql中root的密码:shell>mysql -u root -pmysql> update user set password=password(123456) where user=’root’;mysql> flush privileges //刷新数据库mysql>use dbname;打开数据库:mysql>show databases; 显示所有数据库mysql>show tables; 显示数据库mysql中所有的表:先use mysql;然后mysql>describe user; 显示表mysql数据库中user表的列信息);3、grant创建一个可以从任何地方连接服务器的一个完全的超级用户,但是必须使用一个口令something做这个mysql> grant all privileges on *.* to user@localhost identified by ’something’with增加新用户格式:grant select on 数据库.* to 用户名@登录主机identified by “密码”GRANT ALL PRIVILEGES ON *.* TO monty@localhost IDENTIFIED BY ’something’WITH GRANT OPTION;GRANT ALL PRIVILEGES ON *.* TO monty@”%”IDENTIFIED BY ’something’WITH GRANT OPTION;删除授权:mysql> revoke all privileges on *.* from root@”%”;mysql> delete from user where user=”root”and host=”%”; mysql> flush privileges;创建一个用户custom在特定客户端登录,可访问特定数据库fangchandbmysql >grant select, insert, update, delete, create,drop on fangchandb.* to custom@ identified by ‘passwd’重命名表:mysql > alter table t1 rename t2;4、mysqldump备份数据库shell> mysqldump -h host -u root -p dbname >dbname_backup.sql恢复数据库shell> mysqladmin -h myhost -u root -p create dbnameshell> mysqldump -h host -u root -p dbname < dbname_backup.sql如果只想卸出建表指令,则命令如下:shell> mysqladmin -u root -p -d databasename > a.sql如果只想卸出插入数据的sql命令,而不需要建表命令,则命令如下:shell> mysqladmin -u root -p -t databasename > a.sql那么如果我只想要数据,而不想要什么sql命令时,应该如何操作呢?mysqldump -T./ phptest driver其中,只有指定了-T参数才可以卸出纯文本文件,表示卸出数据的目录,./表示当前目录,即与mysqldump同一目录。
MySQL数据库常用命令大全
一.衔接MySQL格局: mysql -h主机地址-u用户名-p用户暗码1.例1:衔接到本机上的MYSQL.起首在打开DOS窗口,然落后入目次mysqlbin,再键入敕令mysql -uroot -p,回车后提示你输暗码,假如刚装配好MYSQL,超等用户root是没有暗码的,故直接回车即可进入到MYSQL中了,MYSQL 的提示符是: mysql>.2.例2:衔接到长途主机上的MYSQL.假设长途主机的IP为:110.110.110.110,用户名为root,暗码为abcd123.则键入以下敕令:mysql -h110.110.110.110 -uroot -pabcd123(注:u与root可以不必加空格,其它也一样)3.退出MYSQL敕令: exit (回车).二.修正暗码格局:mysqladmin -u用户名 -p旧暗码 password 新暗码1.例1:给root加个暗码ab12.起首在DOS下进入目次mysqlbin,然后键入以下敕令:mysqladmin -uroot -password ab12注:因为开端时root没有暗码,所以-p旧暗码一项就可以省略了.2.例2:再将root的暗码改为djg345.mysqladmin -uroot -pab12 password djg345三.增长新用户.(留意:和上面不合,下面的因为是MySQL情形中的敕令,所今后面都带一个分号作为敕令停止符)格局:grant select on 数据库.* to 用户名@登录主机 identified by \"暗码\"例1.增长一个用户test1暗码为abc,让他可以在任何主机上登录,并对所稀有据库有查询.拔出.修正.删除的权限.起首用以root用户连入MySQL,然后键入以下敕令:grant select,insert,update,delete on *.* to test2@localhost identified by \"abc\";假如你不想test2有暗码,可以再打一个敕令将暗码消失落.grant select,insert,update,delete on mydb.* to test2@localhost identified by \"\";在上面讲了登录.增长用户.暗码更改等问题.下面我们来看看MySQL中有关数据库方面的操纵.留意:你必须起首登录到MySQL中,以下操纵都是在MySQL的提示符下进行的,并且每个敕令以分号停止.1.MySQL 经常应用敕令create database name; 创建数据库use databasename; 选择数据库drop database name 直接删除数据库,不提示show tables; 显示表describe tablename; 表的具体描写select 中加上distinct去除反复字段mysqladmin drop database name 删除数据库前,有提示.显示当前mysql版本和当前日期select version(),current_date;2.修正mysql中root 的暗码:shell>mysql -u root -pmysql> update user set password=password(”xueok654123″) where user=’root’;mysql> flush privileges //刷新数据库mysql>use dbname; 打开数据库:mysql>show databases; 显示所稀有据库mysql>show tables; 显示数据库mysql中所有的表:先use mysql;然后mysql>describe user; 显示表mysql数据库中user表的列信息);3.grant创建一个可以从任何地方衔接办事器的一个完全的超等用户,但是必须应用一个口令something做这个mysql> grant all privileges on *.* to user@localhost identified by ’something’ with增长新用户格局:grant select on 数据库.* to 用户名@登录主机identified by “暗码”GRANT ALL PRI VILEGES ON *.* TO monty@localhost IDENTIFIED BY ’something’ WITH GRANT OPTION;GRANT ALL PRIVILEGES ON *.* TO monty@”%” IDENTIFIED BY ’something’ WITH GRANT OPTION;删除授权:mysql> revoke all privileges on *.* from root@”%”;mysql> delete from user where user=”root” and host=”%”;mysql> flush privileges;创建一个用户custom在特定客户端登录,可拜访特定命据库fangchandbmysql >grant select, insert, update, delete, create,drop on fangchandb.* to custom@ identified by ‘ passwd’重定名表:mysql > alter table t1 rename t2;4.mysqldump10.操纵数据#拔出表departmentinsert into department(name,description) values('体系部','体系部');insert into department(name,description) values('公关部','公关部');insert into department(name,description) values('客服部','客服部');insert into department(name,description) values('财务部','财务部');insert into department(name,description) values('测试部','测试部');#拔出表s_positioninsert into s_position(name,description) values('总监','总监');insert into s_position(name,description) values('司理','司理');insert into s_position(name,description) values('通俗员工','通俗员工');#拔出表depart_posinsert into depart_pos(department_id,position_id)select a.id department_id,b.id postion_idfrom department a,s_position b;#拔出表stafferinsert into staffer(name,department_id,position_id) values('陈达治',1,1);insert into staffer(name,department_id,position_id) values('李文宾',1,2);insert into staffer(name,department_id,position_id) values('马佳',1,3);insert into staffer(name,department_id,position_id) values('亢志强',5,1);insert into staffer(name,department_id,position_id) values('杨玉茹',4,1);11.查询及删除操纵#显示体系部的人员和职位select , department_name, position_namefrom staffer a,department b,s_position cwherea.department_id=b.id and a.position_id=c.id and ='体系部';#显示体系部的人数select count(*) from staffer a,department bwhere a.department_id=b.id and ='体系部'#显示各部分的人数select count(*) cou,from staffer a,department bwhere a.department_id=b.idgroup by ;#删除客服部delete from department where name='客服部';#将财务部修正为财务一部update department set name='财务一部' where name='财务部';12.备份和恢复备份数据库stafferc:\mysql\bin\mysqldump -uroot -proot staffer>e:\staffer.sql得到的staffer.sql是一个sql剧本,不包含建库的语句,所以你须要手工创建数据库才可以导入恢复数据库staffer,须要创建一个空库stafferc:\mysql\bin\mysql -uroot -proot staffer<staffer.sql假如不愿望后来手工创建staffer,可以c:\mysql\bin\mysqldump -uroot -proot --databases staffer>e:\staffer.sqlmysql -uroot -proot >e:\staffer.sql但如许的话体系种就不克不及消失staffer库,且无法导入其他名字的数据库,当然你可以手工修正staffer.sql文件13.从文本向数据库导入数据1)应用对象c:\mysql\bin\mysqlimport这个对象的感化是将文件导入到和去失落文件扩大名名字雷同的表里,如staffer.txt,staffer都是导入到staffer表中经常应用选项及功效如下-d or --delete 新数据导入数据表中之前删除数据数据表中的所有信息-f or --force不管是否碰到错误,mysqlimport将强迫持续拔出数据-i or --ignore mysqlimport跳过或者疏忽那些有雷同独一症结字的行, 导入文件中的数据将被疏忽.-l or -lock-tables 数据被拔出之前锁住表,如许就防止了,你在更新数据库时,用户的查询和更新受到影响.-r or -WordStr 这个选项与-i选项的感化相反;此选项将替代表中有雷同独一症结字的记载.--fields-enclosed- by= char指定文本文件中数据的记载时以什么括起的, 许多情形下数据以双引号括起. 默认的情形下数据是没有被字符括起的.--fields-terminated- by=char指定各个数据的值之间的分隔符,在句号分隔的文件中,分隔符是句号.您可以用此选项指定命据之间的分隔符.默认的分隔符是跳格符(Tab)--lines-terminated- by=str此选项指定文本文件中行与行之间数据的分隔字符串或者字符. 默认的情形下mysqlimport以newline为行分隔符.您可以选择用一个字符串来替代一个单个的字符:一个新行或者一个回车.mysqlimport敕令经常应用的选项还有-v 显示版本(version),-p 提示输入暗码(password)等.这个对象有个问题,无法疏忽某些列,如许对我们的数据导入有很大的麻烦,固然可以手工设置这个字段,但会消失莫名其妙的成果,我们做一个简略的示例我们界说如下的depart_no.txt,保管在e盘,距离为制表符\t10 1011 1112 24履行如下敕令c:\mysql\bin\mysqlimport -uroot -proot staffer e:\depart_pos.txt在这里没有应用列的包抄符号,朋分采取默认的\t,因为采取此外符号会有问题,不知道是不是windows的原因2)Load Data INFILE file_name into table_name(column1_name,column2_name)这个敕令在mysql>提示符下应用,长处是可以指定列导入,示例如下c:\mysql\bin\mysql -uroot -proot staffermysql>load data infile "e:/depart_no.txt" into depart_no(department_id,position_id);这两个对象在Windows 下应用都有问题,不知道是Windows的原因照样中文的问题,并且不指定的列它产生了空值,这显然不是我们想要的,所以谨严应用这些对象进入MySQL:mysql -uuser -ppassword --port=33071:应用SHOW语句找出在办事器受骗前消失什么数据库:mysql> SHOW DATABASES;2:2.创建一个数据库MYSQLDATAmysql> Create DATABASE MYSQLDATA;3:选择你所创建的数据库mysql> USE MYSQLDATA; (按回车键消失Database changed 时解释操纵成功!)4:检讨如今的数据库中消失什么表mysql> SHOW TABLES;5:创建一个数据库表mysql> Create TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));6:显示表的构造:mysql> DESCRIBE MYTABLE;7:往表中参加记载mysql> insert into MYTABLE values ("hyq","M");8:用文本方法将数据装入数据库表中(例如D:/mysql.txt)mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;9:导入.sql文件敕令(例如D:/mysql.sql)mysql>use database;mysql>source d:/mysql.sql;10:删除表mysql>drop TABLE MYTABLE;11:清空表mysql>delete from MYTABLE;12:更新表中数据mysql>update MYTABLE set sex="f" where name='hyq';UPDATE [LOW_PRIORITY] [IGNORE] tbl_nameSET col_name1=expr1 [, col_name2=expr2 ...][WHERE where_definition][ORDER BY ...][LIMIT rows]orUPDATE [LOW_PRIORITY] [IGNORE] tbl_name [, tbl_name ...]SET col_name1=expr1 [, col_name2=expr2 ...][WHERE where_definition]UPDATE 以新的值更新现存表中行的列.SET 子句指出要修正哪个列和他们应当给定的值.WHERE子句假如被给出,指定哪个记载行应当被更新.不然,所有的记载行被更新.假如 ORDER BY 子句被指定,记载行将被以指定的次序更新.假如你指定症结词 LOW_PRIORITY,UPDATE 的履行将被延迟,直到没有其它的客户正直在读取表.假如你指定症结词 IGNORE,该更新语句将不会平常中断,即使在更新进程中消失反复键错误.导致冲突的记载行将不会被更新.假如在一个表达式中从 tbl_name 中拜访一个列,UPDATE 应用列的当前值.举例来说,下面的语句设置 age 列值为它的当前值加 1 :mysql> UPDATE persondata SET age=age+1;UPDATE 赋值是从左到右盘算的.举例来说,下列语句将 age 列设置为它的两倍,然后再加 1 :mysql> UPDATE persondata SET age=age*2, age=age+1;假如你设置列为其当前的值,MySQL 留意到这点,其实不更新它.UPDATE 返回现实被转变的记载行数量.在 MySQL 3.22 或更新的版本中,C API 函数 mysql_info()返回被匹配并更新的记载行数量,以及在 UPDATE时代产生的警告的数量.在 MySQL 3.23 中,你可以应用 LIMIT # 来确保只有给定的记载行数量被更改.假如一个 ORDER BY 子句被应用(从 MySQL 4.0.0 开端支撑),记载行将以指定的次序被更新.这现实上只有连同 LIMIT一路才有效.从 MySQL 4.0.4 开端,你也可以履行一个包含多个表的UPDATE 的操纵:UPDATE items,month SET items.price=month.priceWHERE items.id=month.id;留意:多表 UPDATE 不成以应用 ORDER BY 或 LIMIT.症结字: mysql启动:net start mySql; 进入:mysql -u root -p/mysql -h localhost -u root -p databaseName; 列出数据库:show databases; 选择数据库:use databaseName; 列出表格:show tables; 显示表格列的属性:show columns from tableName; 树立数据库:source fileName.txt; 匹配字符:可以用通配符_代表任何一个字符,%代表任何字符串; 增长一个字段:alter table tabelName add column fieldName dateType;增长多个字段:alter table tabelName add column fieldName1 dateType,add columns fieldName2 dateType; 多行敕令输入:留意不克不及将单词断开;当拔出或更改数据时,不克不及将字段的字符串睁开到多行里,不然硬回车将被储存到数据中; 增长一个治理员帐户:grant all on *.* to user@localhost identified by "password"; 每条语句输入完毕后要在末尾填加分号';',或者填加'\g'也可以; 查询时光:select now();查询当前用户:select user(); 查询数据库版本:select version(); 查询当前应用的数据库:select database();1.删除student_course数据库中的students数据表:rm -f student_course/students.*2.备份数据库:(将数据库test 备份) mysqldump -u root -p test>c:\test.txt 备份表格:(备份test数据库下的mytable表格) mysqldump -u root -p test mytable>c:\test.txt 将备份数据导入到数据库:(导回test数据库) mysql -u root -p test3.创建暂时表:(树立暂时表zengchao) create temporary table zengchao(name varchar(10));4.创建表是先断定表是否消失create table if not exists students(……);5.从已经有的表中复制表的构造create table table2 select * from table1 where 1<>1;6.复制表create table table2 select * from table1;7.对表从新定名alter table table1 rename as table2;8.修正列的类型alter table table1 modify id int unsigned;//修正列id的类型为int unsigned alter table table1 change id sid int unsigned;//修正列id的名字为sid,并且把属性修正为int unsigned9.创建索引alter table table1 add index ind_id (id);create index ind_id on table1 (id); create unique index ind_id on table1 (id);//树立独一性索引10.删除索引drop index idx_id on table1;alter table table1 drop index ind_id; 11.结合字符或者多个列(将列id与":"和列name和"="衔接)select concat(id,':',name,'=') from students; 12.limit(选出10到20条)<第一个记载集的编号是0> select * from students order by id limit 9,10; 13.MySQL不支撑的功效事务,视图,外键和引用完全性,存储进程和触发器14.MySQL会应用索引的操纵符号<,<=,>=,>,=,between,in,不带%或者_开首的like 15.应用索引的缺陷1)减慢增删改数据的速度; 2)占用磁盘空间; 3)增长查询优化器的累赘; 当查询优化器生成履行筹划时,会斟酌索引,太多的索引会给查询优化器增长工作量,导致无法选择最优的查询筹划; 16.剖析索引效力办法:在一般的SQL语句前加上explain; 剖析成果的寄义:1)table:表名; 2)type:衔接的类型,(ALL/Range/Ref).个中ref是最幻想的; 3)possible_keys:查询可以应用的索引名; 4)key:现实应用的索引; 5)key_len:索引中被应用部分的长度(字节); 6)ref:显示列名字或者"const"(不明确什么意思); 7)rows:显示MySQL以为在找到准确成果之前必须扫描的行数; 8)extra:MySQL的建议; 17.应用较短的定长列1)尽可能应用较短的数据类型; 2)尽可能应用定长数据类型; a)用char代替varchar,固定长度的数据处理比变长的快些; b)对于频仍修正的表,磁盘轻易形成碎片,从而影响数据库的整体机能; c)万一消失数据表解体,应用固定长度数据行的表更轻易从新构造.应用固定长度的数据行,每个记载的开端地位都是固定记载长度的倍数,可以很轻易被检测到,但是应用可变长度的数据行就不一定了; d)对于MyISAM 类型的数据表,固然转换成固定长度的数据列可以进步机能,但是占领的空间也大; 18.应用not null和enum 尽量将列界说为not null,如许可使数据的出来更快,所需的空间更少,并且在查询时,MySQL不须要检讨是否消失特例,即null值,从而优化查询; 假如一列只含有有限数量标特定值,如性别,是否有效或者入学年份等,在这种情形下应当斟酌将其转换为enum列的值,MySQL处理的更快,因为所有的enum值在体系内都是以标识数值来暗示的; 19.应用optimize table 对于经常修正的表,轻易产生碎片,使在查询数据库时必须读取更多的磁盘块,降低查询机能.具有可变长的表都消失磁盘碎片问题,这个问题对blob数据类型更为凸起,因为其尺寸变更平常大.可以经由过程应用optimize table来整顿碎片,包管数据库机能不降低,优化那些受碎片影响的数据表. optimize table可以用于MyISAM和BDB类型的数据表.现实上任何碎片整顿办法都是用mysqldump来转存数据表,然后应用转存后的文件着从新建数据表;20.应用procedure analyse() 可以应用procedure analyse()显示最佳类型的建议,应用很简略,在select语句后面加上procedure analyse()就可以了;例如:select * from students procedure analyse(); select * from students procedureanalyse(16,256); 第二条语句请求procedure analyse()不要建议含有多于16个值,或者含有多于256字节的enum类型,假如没有限制,输出可能会很长; 21.应用查询缓存1)查询缓存的工作方法:第一次履行某条select语句时,办事器记住该查询的文本内容和查询成果,存储在缓存中,下次碰着这个语句时,直接从缓存中返回成果;当更新数据表后,该数据表的任何缓存查询都变成无效的,并且会被丢弃. 2)设置装备摆设缓存参数:变量:query_cache _type,查询缓存的操纵模式.有3中模式,0:不缓存;1:缓存查询,除非与 select sql_no_cache开首;2:依据须要只缓存那些以select sql_cache开首的查询; query_cache_size:设置查询缓存的最大成果集的大小,比这个值大的不会被缓存. 22.调剂硬件1)在机械上装更多的内存; 2)增长更快的硬盘以削减I/O等待时光; 寻道时光是决议机能的重要身分,逐字地移动磁头是最慢的,一旦磁头定位,从磁道读则很快; 3)在不合的物理硬盘装备上从新分派磁盘运动; 假如可能,应将最忙碌的数据库存放在不合的物理装备上,这跟应用统一物理装备的不合分区是不合的,因为它们将争用雷同的物理资本(磁头).。
MySQL常用命令详解
MySQL常用命令详解MySQL是一种广泛使用的开源关系型数据库管理系统,它被广泛应用于各个软件开发领域。
在使用MySQL时,熟悉常用的命令是非常重要的。
本文将详细介绍MySQL常用命令,并对其进行解释和示范。
一、连接数据库在使用MySQL之前,首先需要连接到数据库。
使用以下命令可以在命令行中连接到MySQL数据库:```mysql -u 用户名 -p 密码 -h 主机名 -P 端口号```其中,用户名是登录数据库的用户名,密码是登录数据库的密码,主机名是数据库所在的主机名或IP地址,端口号是数据库服务的端口号。
如果连接上了数据库,命令行会显示MySQL的版本信息以及成功连接的提示。
二、显示数据库一旦连接到了MySQL数据库,可以使用以下命令来显示已经存在的数据库:```SHOW DATABASES;```该命令会列出当前系统中的所有数据库,包括系统自带的数据库和用户自己创建的数据库。
三、创建数据库```CREATE DATABASE 数据库名;```这个命令会在当前的MySQL服务器上创建一个新的数据库。
需要注意的是,数据库名必须是唯一的,否则会创建失败。
四、选择数据库在操作数据库之前,需要先选择要使用的数据库。
可以使用以下命令来选择数据库:```USE 数据库名;```这个命令会将当前数据库切换到指定的数据库,以后进行的操作都会在这个数据库上执行。
五、显示数据表在选择数据库后,可以使用以下命令来显示当前数据库中的数据表:```SHOW TABLES;```该命令会列出当前数据库中的所有数据表。
六、创建数据表```CREATE TABLE 表名 (列名1 数据类型1, 列名2 数据类型2, ...);```这个命令会在当前数据库中创建一个新的数据表。
需要按照指定的格式指定表名以及各个列的名称和数据类型。
七、插入数据在已经创建好数据表后,可以使用以下命令来插入数据:```INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...);```这个命令会向指定的表中插入新的数据。
mysql命令大全(常用命令)
MYSQL常用命令1.导出整个数据库mysqldump -u 用户名-p –default-character-set=latin1 数据库名> 导出的文件名(数据库默认编码是latin1)mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql2.导出一个表mysqldump -u 用户名-p 数据库名表名> 导出的文件名mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql3.导出一个数据库结构mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:wcnc_db.sql-d 没有数据–add-drop-table 在每个create语句之前增加一个drop table4.导入数据库A:常用source 命令进入mysql数据库控制台,如mysql -u root -pmysql>use 数据库然后使用source命令,后面参数为脚本文件(如这里用到的.sql)mysql>source wcnc_db.sqlB:使用mysqldump命令mysqldump -u username -p dbname < filename.sqlC:使用mysql命令mysql -u username -p -D dbname < filename.sql一、启动与退出1、进入MySQL:启动MySQL Command Line Client(MySQL的DOS界面),直接输入安装时的密码即可。
此时的提示符是:mysql>2、退出MySQL:quit或exit二、库操作1、、创建数据库命令:create database <数据库名>例如:建立一个名为xhkdb的数据库mysql> create database xhkdb;2、显示所有的数据库命令:show databases (注意:最后有个s)mysql> show databases;3、删除数据库命令:drop database <数据库名>例如:删除名为xhkdb的数据库mysql> drop database xhkdb;4、连接数据库命令:use <数据库名>例如:如果xhkdb数据库存在,尝试存取它:mysql> use xhkdb;屏幕提示:Database changed5、查看当前使用的数据库mysql> select database();6、当前数据库包含的表信息:mysql> show tables; (注意:最后有个s)三、表操作,操作之前应连接某个数据库1、建表命令:create table <表名> ( <字段名> <类型> [,..<字段名n> <类型n>]);mysql> create table MyClass(> id int(4) not null primary key auto_increment,> name char(20) not null,> sex int(4) not null default ’′,> degree double(16,2));2、获取表结构命令:desc 表名,或者show columns from 表名mysql>DESCRIBE MyClassmysql> desc MyClass;mysql> show columns from MyClass;3、删除表命令:drop table <表名>例如:删除表名为MyClass 的表mysql> drop table MyClass;4、插入数据命令:insert into <表名> [( <字段名>[,..<字段名n > ])] values ( 值)[, ( 值n )]例如,往表MyClass中插入二条记录, 这二条记录表示:编号为的名为Tom的成绩为.45, 编号为的名为Joan 的成绩为.99,编号为的名为Wang 的成绩为.5. mysql> insert into MyClass values(1,’Tom’,96.45),(2,’Joan’,82.99), (2,’Wang’, 96.59);5、查询表中的数据1)、查询所有行命令:select <字段,字段,...> from < 表名> where < 表达式>例如:查看表MyClass 中所有数据mysql> select * from MyClass;2)、查询前几行数据例如:查看表MyClass 中前行数据mysql> select * from MyClass order by id limit 0,2;或者:mysql> select * from MyClass limit 0,2;6、删除表中数据命令:delete from 表名where 表达式例如:删除表MyClass中编号为的记录mysql> delete from MyClass where id=1;7、修改表中数据:update 表名set 字段=新值,…where 条件mysql> update MyClass set name=’Mary’where id=1;7、在表中增加字段:命令:alter table 表名add字段类型其他;例如:在表MyClass中添加了一个字段passtest,类型为int(4),默认值为mysql> alter table MyClass add passtest int(4) default ’′8、更改表名:命令:rename table 原表名to 新表名;例如:在表MyClass名字更改为YouClassmysql> rename table MyClass to YouClass;更新字段内容update 表名set 字段名= 新内容update 表名set 字段名= replace(字段名,’旧内容’,'新内容’)文章前面加入个空格update article set content=concat(‘’,content);字段类型1.INT[(M)] 型:正常大小整数类型2.DOUBLE[(M,D)] [ZEROFILL] 型:正常大小(双精密)浮点数字类型3.DATE 日期类型:支持的范围是-01-01到-12-31。
MySQL命令行工具的使用技巧
MySQL命令行工具的使用技巧MySQL命令行工具是一款非常常用的数据库管理工具,它可以用于执行各种数据库操作,比如创建数据库、创建表、插入数据、查询数据等等。
熟练掌握MySQL命令行工具的使用技巧,对于数据库开发和管理非常重要。
本文将介绍一些MySQL命令行工具的使用技巧,帮助读者更好地利用这款工具进行数据库操作。
1. 连接数据库在使用MySQL命令行工具之前,首先需要连接到数据库。
可以使用以下命令:```mysql -h 主机名 -u 用户名 -p```其中,-h参数指定连接的主机名,-u参数指定用户名,-p参数表示需要输入密码。
输入以上命令后会提示输入密码,输入正确的密码后即可连接到数据库。
2. 查看数据库连接到数据库后,可以使用`show databases;`命令查看当前数据库中的所有数据库。
这个命令会列出所有的数据库名称。
3. 创建数据库创建数据库使用`create database 数据库名;`命令,比如`create database test;`将创建名为test的数据库。
4. 使用数据库使用数据库使用`use 数据库名;`命令,比如`use test;`将使用test数据库进行后续的操作。
5. 创建表在使用数据库之后,可以开始创建表。
创建表使用`create table 表名 (字段1 数据类型, 字段2 数据类型, ...);`命令。
例如,要创建一个名为`users`的表,包含`id`、`name`和`age`三个字段,可以使用以下命令:```create table users (id int,name varchar(50),age int);```以上命令将创建一个名为`users`的表,包含一个整型字段`id`、一个最长50个字符的字符串字段`name`和一个整型字段`age`。
6. 插入数据创建完表之后,就可以向表中插入数据了。
插入数据使用`insert into 表名 (字段1, 字段2, ...) values (值1, 值2, ...);`命令。
MYSQL 命令
MySql5.0常用命令一、打开连接 (1)二、增加用户 (1)三、更改密码 (1)四、显示数据库列表 (1)五、显示库中的数据表 (1)六、显示表结构 (2)七、建库 (2)八、建表 (2)九、删库或删表 (2)十、插入数据 (2)十一、查询数据 (2)十二、更新数据 (3)十三、清空表中的记录 (3)十四、增加字段 (3)十五、更改字段名称 (3)十六、更改字段默认值 (4)十七、更改字段数据类型 (4)十八、增加主键 (4)十九、导入SQL文件4二十、导入文本文件4二十一、备份数据库5二十二、导出数据5二十三、退出Mysql命令环境5二十四、实例学习5二十五、作者的话7一、打开连接格式:mysql–h<url>–u<username>–p<password>参数说明:<url>服务器地址<username>用户名<password>密码二、增加用户格式:grant select on数据库.*to用户名@登录主机identified by"密码";例:增加用户名为db315密码为db315的超级管理员帐号.grant select,insert,update,delete on mydb.*to db315@localhost identified by"db315";三、更改密码格式:mysqladmin-u用户名-p旧密码password新密码例:把帐号db315的密码改为。
mysqladmin-uroot–pdb315password 四、显示数据库列表格式:show databases五、显示库中的数据表格式:use<database>;show tables;参数说明:<database>数据库名称六、显示表结构格式:use<database>;desc<table>;参数说明:<database>数据库名称,<table>需显示表结构的表名七、建库格式:create database<database_name>参数说明:<database_name>数据库名称八、建表格式:use<database_name>;create table<table_name>(字段设定列表)参数说明:<table_name>新建表的名称(字段设定列表)如:id int not null,九、删库或删表格式:drop database<database_name>;drop table<table_name>十、插入数据格式:insert into user(<name1>,<name2>)value(value1,value2)参数说明:<name>字段名称<value>字段值十一、查询数据格式:select*from<table_name>where<条件>例:select*from user where id=2;十二、更新数据格式:update<table_user>set<字段名称>=<值>where<条件>例:把ID为2的记录用户名(username)的值更改为china.Update user set username=’china’where id=2;十三、清空表中的记录格式:delete from<table_name><条件>例:delete from user where id=2;十四、增加字段格式:alter table table_name add column column_name type default;参数说明:table_name表名称column_name字段名type字段类型例:alter table user add column tel varchar(12)default‘’;在表user中增加一个字段tel类型为varchar值为空.十五、更改字段名称格式:alter table table_name change sorce_col_name dest_col_name type default;参数说明:table_name指表名,source_col_name指原来的字段名称,dest_col_name指改后的字段名称例如:alter table user change tel intro varchar(33)default null;十六、更改字段默认值格式:alter table table_name alter column_name set default;例:alter table user alter tel set default null;十七、更改字段数据类型格式:alter table table_name change column column_name column_name type;例:alter table user change column username username varchar(20);十八、增加主键格式:alter table table_name add column column_name typeauto_increment PRIMARY KEY;例如:alter table user add column id int(10)auto_increment PRIMARY KEY十九、导入SQL文件格式:mysql–u<username>–p<password><<Sql_file>例:mysql–uroot–pmaowei<c:\user.sql二十、导入文本文件格式:load data local infile“file_path”into table<table_name>参数说明:“file_path”文件路径<table_name>表名注:1、文本数据应符合的格式:字段数据之间用tab键隔开,null值用\n来代替.例:d:\user.txt中的数据为1cc abcdef easyjf@2dd abcdef\n3ee aaaaaa maoweiwer@4ff aaaaaa ksmwly@二十一、备份数据库格式:mysqldump–u<username>-p<database>><data_name>参数说明:<username>用户名<database>需备份的数据库<data_name>导出文件名例:将数据库db315备份到C盘根目录下的db315.sql文件中.mysqldump–u root–p db315>c:\db315.sql二十二、导出数据格式:select*from user into outfile"dest_file";例:将数据表user导出到Excel文件中select*from user into outfile"c:\user.xls";二十三、退出Mysql命令环境格式:exit二十四、实例学习要求:新建数据库microerp,再建表person,表中有id(主键)、username、password 、intro 四个字段,然后插入一条记录:更新记录最后删除这条记录,并删除数据库microerp 。
mysql命令行工具的使用方法
mysql命令行工具的使用方法MySQL是一种流行的关系型数据库管理系统,它可以通过命令行工具进行操作和管理。
下面是使用MySQL命令行工具的方法:1. 安装MySQL:首先需要安装MySQL数据库软件,可以在官网上下载安装包,然后按照安装向导进行安装。
2. 启动MySQL服务:安装完成后,需要启动MySQL服务。
在Windows系统上可以在'服务'中启动,或者通过命令行启动,命令为:net start mysql 。
在Linux系统上可以通过命令行启动,命令为:service mysql start。
3. 连接到MySQL:启动MySQL服务后,可以使用命令行工具连接到MySQL数据库。
命令为:mysql -u 用户名 -p 密码。
其中用户名和密码是你在安装MySQL时设置的。
4. 创建数据库:连接到MySQL后,可以使用命令创建数据库。
命令为:create database 数据库名。
5. 使用数据库:创建数据库后,可以使用命令进入到该数据库。
命令为:use 数据库名。
6. 创建表:在数据库中,可以使用命令创建表。
命令为:create table 表名 (字段名1 数据类型1, 字段名2 数据类型2, …)。
7. 插入数据:创建完表后,可以使用命令插入数据。
命令为:insert into 表名 (字段名1, 字段名2, …) values (值1, 值2, …)。
8. 查询数据:插入数据后,可以使用命令查询数据。
命令为:select * from 表名。
其中'*'表示查询所有字段。
9. 更新数据:如果需要修改数据,可以使用命令更新数据。
命令为:update 表名 set 字段名=新值 where 条件。
10. 删除数据:如果需要删除数据,可以使用命令删除数据。
命令为:delete from 表名 where 条件。
以上就是MySQL命令行工具的使用方法。
通过这些命令可以进行数据库的操作和管理。
mysql命令大全(完整版本)
mysql命令大全(完整版本)1.连接数据库格式:mysql -h主机地址-u用户名-p用户密码1.1.连接到本机上的MYSQL。
首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码。
如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>1.2连接到远程主机上的MYSQL。
假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。
则键入以下命令:mysql -h110.110.110.110 -u root -p 123;(注:u与root之间可以不用加空格,其它也一样)1.3退出MYSQL命令:exit (回车)2.增加用户格式:grant select on 数据库.* to 用户名@登录主机identified by “密码”2.1 增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。
首先用root用户连入MYSQL,然后键入以下命令:grant select,insert,update,delete on *.* to [email=test1@”%]test1@”%[/email]” Identified by “abc”;但增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见2.2。
2.2增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问。
mysql命令大全实用
mysql命令大全实用一、1.登录数据库系统mysql �Ch localhost �Cu root -p2.查看已存在的数据库 SHOW DATABASES;3.查看默认存储引擎SHOW VARIABLES LIKE 'storage_engine';4.创建数据库CREATE DATABASE school;5.删除数据库DROP DATABASE school; 二、(1)登录数据库 mysql -h localhost -u root -p(2)查看数据库系统中已存在的数据库,代码如下: SHOW DATABASES;(3)查看该数据库系统支持的存储引擎的类型,代码如下: SHOW ENGINES;(4)创建student数据库和teacher数据库。
CREATE DATABASE student; CREATE DATABASE teacher;(5)再次查看数据库系统中已经存在的数据库,确保student和teacher数据库已经存在,代码如下: SHOW DATABASES;(6)删除teacher数据库,代码如下: DROP DATABASE teacher ;(7)再次查看数据库系统中已经存在的数据库,确保teacher数据库已经删除。
SHOW DATABASES; 三、1.登录数据库系统mysql �Ch localhost �Cu root -p2.选择example数据库查看数据库的代码 SHOW DATABASES;选择example数据库的代码 USE example;3.创建student表和grade表创建student表的代码CREATE TABLE student( num INT(10) NOT NULL UNIQUE PRIMARY KEY , name VARCHAR(20) NOT NULL , sex VARCHAR(4) NOT NULL , birthday DATETIME , address VARCHAR(50) );创建grade表的代码CREATE TABLE grade( id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT, course VARCHAR(10) NOT NULL , s_num INT(10) NOT NULL , grade VARCHAR(4), CONSTRAINT grade_fk FOREIGN KEY (s_num) REFERENCES student(num) );4.将grade表的course字段的数据类型改为VARCHAR(20),代码如下: ALTER TABLE grade MODIFY course VARCHAR(20);5.将s_num字段的位置改到course字段的前面,代码如下:ALTER TABLE grade MODIFY s_num INT(10) AFTER id;6.将grade字段改名为scoreALTER TABLE grade CHANGE grade score VARCHAR(4);7.删除grade表的外键约束ALTER TABLE grade ENGINE=MyISAM;8.将grade表的存储引擎更改为MyISAM类型 ALTER TABLE gradeENGINE=MyISAM;9.将student表的address字段删除ALTER TABLE student DROP address;10.在student表中增加名为phone的字段ALTER TABLE student ADD phone INT(10);11.将grade表改名为gradeInfoALTER TABLE grade RENAME gradeInfo;12.删除student表 DROP TABLE student; 四1.操作teacher表(1)首先创建数据库school,代码如下: CREATE DATABASE school;(2)创建teacher表,代码如下: CREATE TABLE teacher( id INT(4) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT, num INT(10) NOT NULL UNIQUE , name VARCHAR(20) NOT NULL , sex VARCHAR(4) NOT NULL , birthday DATETIME , address VARCHAR(50) );(3)将teacher表的name字段的数据类型改为VARCHAR(30),代码如下: ALTER TABLE teacher MODIFY name VARCHAR(30) NOT NULL;(4)将birthday字段的位置改到sex字段的前面,代码如下:ALTER TABLE teacher MODIFY birthday DATETIME AFTER name;(5)将num字段改名为t_id,代码如下:ALTER TABLE teacher CHANGE num t_id INT(10) NOT NULL;(6)将teacher表的address字段删除,代码如下: ALTER TABLE teacher DROP address;(7)在teacher表中增加名为wages的字段,数据类型为FLOAT,代码如下: ALTER TABLE teacher ADD wages FLOAT;(8)将teacher表改名为teacherInfo,代码如下: ALTER TABLE teacher RENAME teacherInfo;(9)将teacher表的存储引擎更改为MyISAM类型,代码如下: ALTER TABLE teacherInfo ENGINE=MyISAM;2.操作department表和worker表(1)创建department表,代码如下: CREATE TABLE department( d_id INT(4) NOT NULL UNIQUE PRIMARY KEY , d_nameVARCHAR(20) NOT NULL UNIQUE , function VARCHAR(50) , addressVARCHAR(50) );(2)创建worker表,代码如下: CREATE TABLE worker ( id INT(4) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT, num INT(10) NOT NULL UNIQUE , d_id INT(4) , name VARCHAR(20) NOT NULL , sex VARCHAR(4) NOT NULL , birthday DATE , address VARCHAR(50) , CONSTRAINT worker_fk FOREIGN KEY (d_id) REFERENCES department (d_id) );(3)删除department表,代码如下: DROP TABLE department;4)删除worker表的外键约束,代码如下:ALTER TABLE worker DROP FOREIGN KEY worker_fk;(5)重新删除department表,代码如下: DROP TABLE department; 五、1.登录数据库系统并创建job数据库登录MySQL数据库的命令如下: mysql �Ch localhost �Cu root -p创建job数据库的代码如下:CREATE DATABASE job;2.创建user表选择job数据库的代码如下: USE job;创建user表的代码如下: CREATE TABLE user( userid INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT , username VARCHAR(20) NOT NULL , passwd VARCHAR(20) NOT NULL , info TEXT , UNIQUE INDEX index_uid( userid DESC ) , INDEX index_user ( username, passwd ) , FULLTEXT INDEX index_info( info ) )ENGINE=MyISAM;查看user表的结构的代码如下: SHOW CREATE TABLE user \\G3.创建information表创建information表的代码如下: CREATE TABLE information ( id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20) NOT NULL , sex VARCHAR(4) NOT NULL , birthday DATE , address VARCHAR(50) , tel VARCHAR(20) , pic BLOB );查看information表的结构的代码如下: SHOW CREATE TABLE information \\G 4.在name字段创建名为index_name的索引CREATE INDEX index_name ON information( name(10) );5.创建名为index_bir的多列索引CREATE INDEX index_bir ON information(birthday, address );6.用ALTER TABLE语句创建名为index_id的惟一性索引ALTER TABLE information ADD INDEX index_id( id ASC );感谢您的阅读,祝您生活愉快。
mysql数据库常常利用命令总汇
MySql数据库常常利用命令总汇1.利用SHOW语句找出在服务器被骗前存在什么数据库:mysql> SHOW DATABASES;2.创建一个数据库MYSQLDATAmysql> CREATE DATABASE MYSQLDATA;3.选择你所创建的数据库mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!)4.查看此刻的数据库中存在什么表mysql> SHOW TABLES;5.创建一个数据库表mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));6.显示表的结构:mysql> DESCRIBE MYTABLE;7.往表中加入记录mysql> insert into MYTABLE values (”hyq”,”M”);8.用文本方式将数据装入数据库表中(例如D:/)mysql> LOAD DATA LOCAL INFILE “D:/” INTO TABLE MYTABLE;9.导入.sql文件命令(例如D:/)mysql>use database;mysql>source d:/;10.删除表mysql>drop TABLE MYTABLE;11.清空表mysql>delete from MYTABLE;12.更新表中数据mysql>update MYTABLE set sex=”f” where name=’hyq’;以下是无心中在网络看到的利用MySql的管理心得,在windows中MySql以服务形式存在,在利用前应确保此服务已经启动,未启动可用net start mysql命令启动。
而Linux中启动时可用“/etc/mysqld start”命令,注意启动者应具有管理员权限。
刚安装好的MySql包括一个含空密码的root帐户和一个匿名帐户,这是很大的安全隐患,对于一些重要的应用咱们应将安全性尽可能提高,在这里应把匿名帐户删除、root帐户设置密码,可用如下命令进行:use mysql;delete from User where User=”";update User set Password=PASSWORD(’newpassword’) where User=’root’;若是要对用户所用的登录终端进行限制,可以更新User表中相应用户的Host字段,在进行了以上更改后应从头启动数据库服务,此时登录时可用如下类似命令:mysql -uroot -p;mysql -uroot -pnewpassword;mysql mydb -uroot -p;mysql mydb -uroot -pnewpassword;上面命令参数是常常利用参数的一部份,详细情况可参考文档。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MySql的学习一 . 安装与配置MYSQL二 . 常用mysql命令行命令1 .mysql的启动与停止启动MYSQL服务net start mysql停止MYSQL服务net stop mysql2 . netstat –na | findstr 3306 查看被监听的端口, findstr用于查找后面的端口是否存在3 . 在命令行中登陆MYSQL控制台, 即使用MYSQL COMMEND LINE TOOL语法格式mysql –user=root –password= db_name或mysql –u root –p db_name4 . 进入MYSQL命令行工具后, 使用status; 或\s 查看运行环境信息5 . 切换连接数据库的语法: use new_dbname;6 . 显示所有数据库: show databases;7 . 显示数据库中的所有表: show tables;8 . 显示某个表创建时的全部信息: show create table table_name;9 . 查看表的具体属性信息及表中各字段的描述Describe table_name; 缩写形式: desc table_name;三. MySql中的SQL语句1 . 数据库创建: Create database db_name;数据库删除: Drop database db_name; 删除时可先判断是否存在,写成: drop database if exits db_name2 . 建表: 创建数据表的语法: create table table_name (字段1 数据类型, 字段2 数据类型); 例: create table mytable (id int , username char(20));删表: drop table table_name; 例: drop table mytable;8 . 添加数据: Insert into 表名[(字段1 , 字段2 , ….)] values (值1 , 值2 , …..);如果向表中的每个字段都插入一个值,那么前面[ ] 括号内字段名可写也可不写例: in sert into mytable (id,username) values (1,’zhangsan’);9 . 查询: 查询所有数据: select * from table_name;查询指定字段的数据: select 字段1 , 字段2 from table_name;例: select id,username from mytable where id=1 order by desc;多表查询语句------------参照第17条实例10 . 更新指定数据, 更新某一个字段的数据(注意,不是更新字段的名字)Update table_name set 字段名=’新值’ [, 字段2 =’新值’ , …..][where id=id_num] [order by 字段顺序]例: update mytable set username=’lisi’ where id=1;Order语句是查询的顺序, 如: order by id desc(或asc) , 顺序有两种: desc倒序(100—1,即从最新数据往后查询),asc(从1-100),Where和order语句也可用于查询select 与删除delete11 . 删除表中的信息:删除整个表中的信息: delete from table_name;删除表中指定条件的语句: delete from table_name where 条件语句; 条件语句如: id=3;12 . 创建数据库用户一次可以创建多个数据库用户如:CREATE USER username1 identified BY ‘password’ , username2 IDENTIFIED BY ‘password’….13 . 用户的权限控制:grant库,表级的权限控制: 将某个库中的某个表的控制权赋予某个用户Grant all ON db_name.table_name TO user_name [ indentified by ‘password’ ];14 . 表结构的修改(1)增加一个字段格式:alter table table_name add column (字段名字段类型); ----此方法带括号(2)指定字段插入的位置:alter table table_name add column 字段名字段类型after 某字段;删除一个字段:alter table table_name drop字段名;(3)修改字段名称/类型alter table table_name change 旧字段名新字段名新字段的类型;(4)改表的名字alter table table_name rename to new_table_name;(5)一次性清空表中的所有数据truncate table table_name; 此方法也会使表中的取号器(ID)从1开始15 . 增加主键,外键,约束,索引。
(使用方法见17实例)①约束(主键Primary key、唯一性Unique、非空Not Null)②自动增张auto_increment③外键Foreign key-----与reference table_name(col_name列名)配合使用,建表时单独使用④删除多个表中有关联的数据----设置foreign key 为set null ---具体设置参考帮助文档16 . 查看数据库当前引擎SHOW CREATE TABLE table_name;修改数据库引擎ALTER TABLE table_name ENGINE=MyISAM | InnoDB;17 . SQL语句运用实例:--1 建users表create table users (id int primary key auto_increment,nikename varchar(20) not null unique,password varchar(100) not null,address varchar(200), reg_date timestamp not null default CURRENT_TIMESTAMP);--2 建articles表,在建表时设置外键create table articles (id int primary key auto_increment,content longtext not null,userid int,constraint foreign key (userid) references users(id) on delete set null);-------------------------------------------------------------------------2.1 建articles表,建表时不设置外键create table articles (id int primary key auto_increment,content longtext not null,userid int); --2.2 给articles表设置外键alter table articles add constraint foreign key (userid) references users(id) on delete set null; --------------------------------------------------------------------------3. 向users表中插入数据,同时插入多条insert into users (id,nikename,password,address) values (1,'lyh1','1234',null),(10,'lyh22','4321','湖北武汉'),(null,'lyh333','5678', '北京海淀');--4. 向article中插入三条数据insert into articles (id,content,userid) values (2,'hahahahahaha',11),(null,'xixixixixix',10),(13,'aiaiaiaiaiaiaiaiaiaiaiaia',1),(14,'hohoahaoa oooooooooo',10);--5. 进行多表查询,选择users表中ID=10的用户发布的所有留言及该用户的所有信息select articles.id,articles.content,users.* from users,articles where users.id=10 and erid=users.id order by articles.id desc;--6. 查看数据库引擎类型show create table users;--7. 修改数据库引擎类型alter table users engine=MyISAM; ---因为users表中ID被设置成外键,执行此句会出错--8. 同表查询,已知一个条件的情况下.查询ID号大于用户lyh1的ID号的所有用户select a.id,a.nikename,a.address from users a,users b where b.nikename='lyh1' and a.id>b.id;------也可写成select id,nikename,address from users where id>(select id from users where nikename='lyh1');9. 显示年龄比领导还大的员工:select from users a,users b where a.managerid=b.id and a.age>b.age;查询编号为2的发帖人: 先查articles表,得到发帖人的编号,再根据编号查users得到的用户名。
接着用关联查询.select * from articles,users得到笛卡儿积,再加order by articles.id以便观察使用select * from articles,users where articles.id=2 筛选出2号帖子与每个用户的组合记录再使用select * from articles,users where articles.id=2 and erid=users.id选出users.id等于2号帖的发帖人id的记录.只取用户名:select user where user.id=(select userid from articles where article.id =2)找出年龄比小王还大的人:假设小王是28岁,先想找出年龄大于28的人select * from users where age>(select age from users where name='xiaowang');*****要查询的记录需要参照表里面的其他记录:select from users a,users b where ='xiaowang' and a.age>b.age表里的每个用户都想pk一下.select a.nickname,b.nickname from users a,users b where a.id>b.id ;更保险的语句:select a.nickname,b.nickname from (select * from users order by id) a,(se lect * from users order by id) b where a.id>b.id ;再查询某个人发的所有帖子.select b.* from articles a , articles b where a.id=2 and erid=erid说明: 表之间存在着关系,ER概念的解释,用access中的示例数据库演示表之间的关系.只有innodb引擎才支持foreign key,mysql的任何引擎目前都不支持check约束。