mysql命令大全
- 格式:doc
- 大小:108.00 KB
- 文档页数:22
mysql命令参数MySQL是一个开源的关系型数据库管理系统,提供了丰富的命令和参数供用户进行数据库管理和操作。
下面是一些常用的MySQL命令参数的介绍,总字数超过1200字:1. -h或--host:指定MySQL服务器的主机名或IP地址。
例如,可以使用-h localhost连接到本地的MySQL服务器。
2. -u或--user:指定连接MySQL服务器时使用的用户名。
3. -p或--password:指定连接MySQL服务器时使用的密码。
使用该参数会提示用户输入密码。
4. -P或--port:指定连接MySQL服务器时使用的端口号。
默认情况下,MySQL服务器使用3306端口。
5. -D或--database:指定要使用的数据库。
可以在连接MySQL服务器后使用use命令来切换数据库,也可以使用该参数在连接时直接指定要使用的数据库。
6. -e或--execute:指定要执行的SQL语句。
该参数可用于在命令行中直接执行一条SQL语句。
7. -r或--result-file:指定查询结果的输出文件。
可以使用该参数将查询结果保存到文件中,而不是在命令行中显示。
8. --skip-column-names:在查询结果中不显示列名。
使用该参数可以只显示查询结果的数据部分,而不包含列名。
9. -s或--silent:使命令行工具在执行命令时不输出任何信息。
使用该参数可以使输出更加简洁。
10. -i或--ignore-errors:在执行SQL语句时忽略错误。
默认情况下,如果SQL语句执行出错,命令行工具会停止执行并显示错误信息。
使用该参数可以忽略错误继续执行后续语句。
11. -v或--verbose:显示详细的执行信息。
使用该参数可以在执行命令时显示更多的调试信息,帮助用户进行故障排查。
12. --show-warnings:在执行命令时显示警告信息。
警告信息是一些非致命性的问题,可以使用该参数查看这些警告信息。
mysql数据库查询语句大全MySQL是一个功能强大的关系型数据库管理系统,支持多种查询语句,涵盖了数据检索、更新、删除等操作。
下面是一些常见的MySQL查询语句:数据查询:1.SELECT:从数据库中检索数据。
SELECT column1,column2 FROM table_name WHERE condition;2.DISTINCT:返回唯一不同的值。
SELECT DISTINCT column FROM table_name;3.WHERE:添加筛选条件。
SELECT*FROM table_name WHERE column=value;4.ORDER BY:按特定列排序检索结果。
SELECT*FROM table_name ORDER BY column ASC/DESC;5.LIMIT:限制返回的记录数。
SELECT*FROM table_name LIMIT 10;数据更新和删除:1.UPDATE:更新表中的数据。
UPDATE table_name SET column=value WHERE condition;2.DELETE:从表中删除行。
DELETE FROM table_name WHERE condition;表操作:1.CREATE TABLE:创建表格。
CREATE TABLE table_name(column1 datatype,column2 datatype,...);2.ALTER TABLE:修改表格。
ALTER TABLE table_name ADD column datatype;3.DROP TABLE:删除表格。
DROP TABLE table_name;4.TRUNCATE TABLE:清空表格数据。
TRUNCATE TABLE table_name;聚合函数:1.SUM:返回特定列的总和。
SELECT SUM(column)FROM table_name;2.COUNT:返回行数。
MYSQL命令大全常见的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有密码,可以再打一个命令将密码消掉。
mysql客户端常⽤命令⼀mysqldump这个命令是逻辑导出,导出的内容⽅便查看和编辑,如果要备份⼤量数据,最好选择物理导出命令mysqldump的命令⾏参数也可以在配置⽂件的[mysqldump][client]组使⽤,和mysql命令⾏参数⼀样的就不列举了mysqldump -u username -p dbname table1 table2 ...-> BackupName.sqldbname参数表⽰数据库的名称;table1和table2参数表⽰需要备份的表的名称,为空则整个数据库备份;BackupName.sql参数表设计备份⽂件的名称,⽂件名前⾯可以加上⼀个绝对路径。
通常将数据库备份成⼀个后缀名为sql的⽂件;mysqldump -u username -p --databases dbname2 dbname2 > Backup.sql加上了--databases选项,然后后⾯跟多个数据库mysqldump -u username -p -all-databases > BackupName.sql备份所有数据库mysqldump -u ⽤户名 -p -d –add-drop-table 数据库名 > 导出的⽂件名备份创建表语句包含删表语句mysqldump -u username -p dbname < filename.sql//导⼊数据库--add-drop-database //添加删除数据库语句在创建数据库之前--add-drop-table--add-drop-trigger-n // 不导出创建数据库语句--no-create-db-t // 不导出创建表语句--no-create-info--replace //⽤replace语句替换insert语句--allow-keywords //在列名前添加表名,作为关键字-i //添加版本等信息--comments,--skip-comments--dump-date //包含⽇期 --skip-dump-date--log-error //记录警告和错误到指定⽂件--set-charset //输出设置字符集语句 --skip-set-charset,--no-set-names -N--compact //产⽣更紧凑的输出--skip-compact--compatible //产⽣的输出尽可能兼容其它数据库服务器-c //insert语句包含列名 --complete-insert--create-options //包含所有创建表选项--hex-blob //⽤16进制输出⼆进制列数据-Q //数据库,表,列名⽤单引号或双引号括起来 --quote-names-r //输出到指定的⽂件 --result-file-T //输出数据到tab分割的⽂本格式txt⽂件--tab--tz-utc //即使两个服务器在不同的时区,TIMESTAMP列的值也不会有问题--skip-tz-utc-A //导出所有数据库--all-databases-B //导出⼏个数据库--databases-E //导出定时事件--event导出时不包含创建和修改的时间,所以恢复时创建时间就是恢复的时间,可以到处mysql.event表包含所有信息--ignore-error //忽略指定的错误--ignore-table //不导出指定的表-d //不导出表数据,只导出表结构–-no-data-R //导出存储过程和⾃定义函数–-routines导出时不包含创建和修改的时间,所以恢复时创建时间就是恢复的时间,可以到处mysql.proc表包含所有信息--tables //导出的表名--triggers //导出的触发器名字-w //导出时的where条件 --where--add-locks //导出的表保护lock tables和unlock tables语句-F //开始导出前刷新服务器⽇志⽂件--flush-logs-x //导出前锁所有表--lock-all-tables-l //导出前锁表 --lock-tables --skip-lock-tables--no-autocommit //是否包含SET autocommit = 0 和 COMMIT--order-by-primary //导出时是否按主键排序--single-transaction //导出前发送START TRANSACTION语句到服务器,设置数据库事务级别是REPEATABLE READ-q //⼀次从服务器检索⼀⾏数据--quick--opt //使导出更快--skip-opt-K //数据插⼊后再创建索引--disable-keys-e //⽤多⾏语法写insert语句--extended-insert--insert-ignore //⽤insert ignore语句替换insert语句⼆mysqlmysql命令⾏参数,也可以在配置⽂件的[client][mysql]组使⽤。
mysql数据库常用语句大全1.连接数据库:连接本地数据库:mysql -u root -p连接远程数据库:mysql -h 192.169.22.199 -u root -p退出数据库:exit2.创建数据库:create database payment;使用 mysqladmin 创建数据库mysqladmin -u root -p create abc_db; 3.显示所有数据库:show databases;4.删除数据库:drop database payment;使用 mysqladmin 删除数据库mysqladmin -u root -p drop abc_db5.选择数据库:use home_db;6.数据类型:数值类型:TINYINT:SMALLINT:MEDIUMINT:INT(INTEGER):BIGINT:FLOAT:DOUBLE:DECIMAL:日期和时间类型:DATE:TIEM:DATETIME:YEAR:TIMESTAMP:字符串类型:CHAR:VARCHAR:TINYBLOB:TINYTEXT:BLOB:TEXT:MEDIUMBLOB:MEDIUMTEXT:LONGBLOB:LONGTEXT:7.创建数据表:CREATE TABLE IF NOT EXISTS `t_order`( `id` INT(10) UNSIGNED AUTO_INCREMENT,`title` VARCHAR(100) NOT NULL,PRIMARY KEY(`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;8.删除数据表:DROP TABLE t_order;9.insert 插入:插入一条数据:INSERT INTO t_order(title)VALUES('手机');INSERT 插入多条数据:INSERT INTO t_order(title)VALUES('笔记本'),('平板电脑');10.select 查询:所有字段查询:SELECT * FROM t_order;某些字段查询:SELECT t_order.id, t_order.title FROM t_order;分页查询:SELECT t_order.title FROM t_order WHERE id LIMIT 1,10 11.where 条件:OR,AND的应用:SELECT * FROM t_order WHERE title ='手机' OR title='笔记本';SELECT * FROM t_order WHERE title ='手机' AND id=2;12.update 更新:UPDATE t_order SET title='苹果手机' WHERE id =2;13.delete 删除:DELETE FROM t_order WHERE id=2;14.like 查询SELECT * FROM t_order WHERE title LIKE '%手机%';SELECT * FROM t_order WHERE title LIKE '_机';14.union 联合查询:连接两个以上的 SELECT 语句合并成一个结果集合SELECT * FROM t_order UNION SELECT * FROM t_user; SELECT * FROM t_order UNION ALL SELECT * FROM t_user;15.order by 排序:升序排序:SELECT * FROM t_order ORDER BY id ASC;降序排序:SELECT * FROM t_order ORDER BY id DESC;16.group by 分组:SELECT title, count(*) as total FROM t_order GROUP BY title;17.join 连接:inner join(内连接) on:获取两个表中字段匹配关系的记录SELECT * FROM t_order o INNER JOIN t_user u ON o.id =u.id;left join(左连接)on:获取左表所有记录,即使右表没有对应匹配的记录SELECT * FROM t_order o LEFT JOIN t_user u ON o.id =u.id;right join(右连接)on:获取右表所有记录,即使左表没有对应匹配的记录SELECT * FROM t_order o RIGHT JOIN t_user u ON o.id =u.id;18.null的处理:null值的判断:SELECT * FROM t_user WHERE name IS NULL;非null值的判断:SELECT * FROM t_user WHERE name IS NOT NULL;19.REGEXP 正则表达式:SELECT * FROM t_order WHERE title REGEXP('手机$'); SELECT * FROM t_order WHERE title REGEXP('^笔');。
mysql查询语句大全及用法MySQL是一种常用的关系型数据库管理系统,提供了强大的查询语言(SQL)来操作和管理数据库。
下面是一些常见的MySQL查询语句及其用法:1. SELECT语句:-用法:用于从数据库中检索数据。
-示例:SELECT * FROM 表名;(检索表中的所有数据)SELECT 列1, 列2 FROM 表名WHERE 条件;(根据条件检索指定列的数据)2. INSERT语句:-用法:用于向数据库中插入新的数据。
-示例:INSERT INTO 表名(列1, 列2) VALUES (值1, 值2);(向表中插入指定列的数据)3. UPDATE语句:-用法:用于更新数据库中的数据。
-示例:UPDATE 表名SET 列1 = 值1, 列2 = 值2 WHERE 条件;(根据条件更新指定列的数据)4. DELETE语句:-用法:用于从数据库中删除数据。
-示例:DELETE FROM 表名WHERE 条件;(根据条件删除数据)5. WHERE子句:-用法:用于在SELECT、UPDATE和DELETE语句中指定条件。
-示例:SELECT * FROM 表名WHERE 列= 值;(根据条件检索数据)6. ORDER BY子句:-用法:用于对结果进行排序。
-示例:SELECT * FROM 表名ORDER BY 列ASC/DESC;(根据指定列的升序或降序排序数据)7. GROUP BY子句:-用法:用于将结果分组。
-示例:SELECT 列, COUNT(*) FROM 表名GROUP BY 列;(根据指定列对数据进行分组并计数)8. JOIN语句:-用法:用于在多个表之间建立连接。
-示例:SELECT * FROM 表1 JOIN 表2 ON 表1.列= 表2.列;(根据指定列在两个表之间建立连接)9. DISTINCT关键字:-用法:用于返回唯一的结果。
-示例:SELECT DISTINCT 列FROM 表名;(返回指定列的唯一结果)10. LIMIT关键字:-用法:用于限制结果集的行数。
mysql必背50条语句1. 创建数据库:```sqlCREATE DATABASE dbname;```2. 删除数据库:```sqlDROP DATABASE dbname;```3. 选择数据库:```sqlUSE dbname;```4. 显示所有数据库:```sqlSHOW DATABASES;```5. 创建表:```sqlCREATE TABLE tablename (column1 datatype,column2 datatype,...);```6. 查看表结构:```sqlDESC tablename;```7. 删除表:```sqlDROP TABLE tablename;```8. 插入数据:```sqlINSERT INTO tablename (column1, column2, ...) VALUES (value1, value2, ...);```9. 查询数据:```sqlSELECT * FROM tablename;```10. 条件查询:```sqlSELECT * FROM tablename WHERE condition;```11. 更新数据:```sqlUPDATE tablename SET column1 = value1, column2 = value2 WHERE condition;```12. 删除数据:```sqlDELETE FROM tablename WHERE condition;```13. 查找唯一值:```sqlSELECT DISTINCT column FROM tablename;```14. 排序数据:```sqlSELECT * FROM tablename ORDER BY column ASC/DESC;```15. 限制结果集:```sqlSELECT * FROM tablename LIMIT 10;```16. 分页查询:```sqlSELECT * FROM tablename LIMIT 10 OFFSET 20;```17. 计算行数:```sqlSELECT COUNT(*) FROM tablename;```18. 聚合函数:```sqlSELECT AVG(column), SUM(column), MIN(column), MAX(column) FROM tablename;```19. 连接表:```sqlSELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column;```20. 创建索引:```sqlCREATE INDEX indexname ON tablename (column);```21. 查看索引:```sqlSHOW INDEX FROM tablename;```22. 删除索引:```sqlDROP INDEX indexname ON tablename;```23. 备份整个数据库:```sqlmysqldump -u username -p dbname > backup.sql;```24. 恢复数据库:```sqlmysql -u username -p dbname < backup.sql;```25. 修改表结构:```sqlALTER TABLE tablename ADD COLUMN newcolumn datatype;```26. 重命名表:```sqlRENAME TABLE oldname TO newname;```27. 增加主键:```sqlALTER TABLE tablename ADD PRIMARY KEY (column);```28. 删除主键:```sqlALTER TABLE tablename DROP PRIMARY KEY;```29. 增加外键:```sqlALTER TABLE tablename ADD CONSTRAINT fk_name FOREIGN KEY (column) REFERENCES othertable(column);```30. 删除外键:```sqlALTER TABLE tablename DROP FOREIGN KEY fk_name;```31. 查看活动进程:```sqlSHOW PROCESSLIST;```32. 杀死进程:```sqlKILL process_id;```33. 给用户授权:```sqlGRANT permission ON dbname.tablename TO 'username'@'host';```34. 撤销用户权限:```sqlREVOKE permission ON dbname.tablename FROM 'username'@'host';```35. 创建用户:```sqlCREATE USER 'username'@'host' IDENTIFIED BY 'password';```36. 删除用户:```sqlDROP USER 'username'@'host';```37. 修改用户密码:```sqlSET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');```38. 查看用户权限:```sqlSHOW GRANTS FOR 'username'@'host';```39. 启用外键约束:```sqlSET foreign_key_checks = 1;```40. 禁用外键约束:```sqlSET foreign_key_checks = 0;```41. 启用查询缓存:```sqlSET query_cache_type = 1;```42. 禁用查询缓存:```sqlSET query_cache_type = 0;```43. 查看服务器版本:```sqlSELECT VERSION();```44. 查看当前日期和时间:```sqlSELECT NOW();```45. 查找匹配模式:```sqlSELECT * FROM tablename WHERE column LIKE 'pattern';```46. 计算平均值:```sqlSELECT AVG(column) FROM tablename;```47. 查找空值:```sqlSELECT * FROM tablename WHERE column IS NULL;```48. 日期比较:```sqlSELECT * FROM tablename WHERE date_column > '2022-01-01';```49. 将结果导出为CSV 文件:```sqlSELECT * INTO OUTFILE 'output.csv' FIELDS TERMINATED BY ',' FROM tablename;```50. 将结果导入其他表:```sqlLOAD DATA INFILE 'input.csv' INTO TABLE tablename FIELDS TERMINATED BY ',';。
一、1.登录数据库系统mysql –h localhost –u root -p2.查看已存在的数据库SHOW DATABASES;3.查看默认存储引擎SHOW V ARIABLES 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 DA TABASE student;CREATE DA TABASE teacher;(5)再次查看数据库系统中已经存在的数据库,确保student和teacher数据库已经存在,代码如下:SHOW DATABASES;(6)删除teacher数据库,代码如下:DROP DATABASE teacher ;(7)再次查看数据库系统中已经存在的数据库,确保teacher数据库已经删除。
SHOW DATABASES;三、1.登录数据库系统mysql –h localhost –u root -p2.选择example数据库查看数据库的代码SHOW DATABASES;选择example数据库的代码USE example;3.创建student表和grade表创建student表的代码CREATE TABLE student(num INT(10) NOT NULL UNIQUE PRIMARY KEY ,name V ARCHAR(20) NOT NULL ,sex V ARCHAR(4) NOT NULL ,birthday DA TETIME ,address V ARCHAR(50));创建grade表的代码CREATE TABLE grade(id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT, course V ARCHAR(10) NOT NULL ,s_num INT(10) NOT NULL ,grade V ARCHAR(4),CONSTRAINT grade_fk FOREIGN KEY (s_num)REFERENCES student(num));4.将grade表的course字段的数据类型改为V ARCHAR(20),代码如下:ALTER TABLE grade MODIFY course V ARCHAR(20);5.将s_num字段的位置改到course字段的前面,代码如下:ALTER TABLE grade MODIFY s_num INT(10) AFTER id;6.将grade字段改名为scoreALTER TABLE grade CHANGE grade score V ARCHAR(4);7.删除grade表的外键约束ALTER TABLE grade ENGINE=MyISAM;8.将grade表的存储引擎更改为MyISAM类型ALTER TABLE grade ENGINE=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 V ARCHAR(20) NOT NULL ,sex V ARCHAR(4) NOT NULL ,birthday DATETIME ,address V ARCHAR(50));(3)将teacher表的name字段的数据类型改为VARCHAR(30),代码如下:ALTER TABLE teacher MODIFY name V ARCHAR(30) NOT NULL;(4)将birthday字段的位置改到sex字段的前面,代码如下:ALTER TABLE teacher MODIFY birthday DA TETIME 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_name VARCHAR(20) NOT NULL UNIQUE ,function V ARCHAR(50) ,address V ARCHAR(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 V ARCHAR(20) NOT NULL ,sex V ARCHAR(4) NOT NULL ,birthday DA TE ,address V ARCHAR(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 –h localhost –u 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 V ARCHAR(20) NOT NULL ,passwd V ARCHAR(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 V ARCHAR(20) NOT NULL ,sex V ARCHAR(4) NOT NULL ,birthday DA TE ,address V ARCHAR(50) ,tel V ARCHAR(20) ,pic BLOB);查看information表的结构的代码如下:SHOW CREATE TABLE information \G4.在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 );7.删除user表上的index_user索引删除index_user索引的代码如下:DROP INDEX index_user ON user;查看user表的结构的代码如下:SHOW CREATE TABLE user \G8.删除information表上的index_name索引删除index_name索引的代码如下:DROP INDEX index_name ON information;查看information表的结构的语句如下:SHOW CREATE TABLE information \G六、(1)创建workInfo表CREATE TABLE workInfo (id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT,name V ARCHAR(20) NOT NULL ,type V ARCHAR(10) ,address V ARCHAR(50) ,tel V ARCHAR(20) ,wages INT ,contents TINYTEXT ,extra TEXT ,UNIQUE INDEX index_id (id DESC));(2)使用CREATE INDEX语句为name字段创建长度为10的索引index_name,代码如下:CREATE INDEX index_name ON workInfo( name(10) );(3)使用ALTER TABLE语句在type和address上创建名为index_t的索引,代码如下:ALTER TABLE workInfo ADD INDEX index_t( type, address );(4)使用ALTER TABLE语句将workInfo表的存储引擎更改为MyISAM类型,代码如下:ALTER TABLE workInfo ENGINE=MyISAM;(5)使用ALTER TABLE语句在extra字段上创建名为index_ext的全文索引,代码如下:ALTER TABLE workInfo ADD FULLTEXT INDEX index_ext (extra );(6)使用DROP语句删除workInfo表的惟一性索引index_id,代码如下:DROP INDEX index_id ON workInfo ;七、1.在test数据库中work_info表选择test数据库的代码如下:USE test;创建work_info表的代码如下:CREATE TABLE work_info (id INT(10) NOT NULL UNIQUE PRIMARY KEY ,name V ARCHAR(20) NOT NULL ,sex V ARCHAR(4) NOT NULL ,age INT(5),address V ARCHAR(50) ,tel V ARCHAR(20));2.插入记录INSERT INTO work_info V ALUES( 1,'张三', 'M',18,'北京市海淀区','1234567'); INSERT INTO work_info V ALUES( 2,'李四', 'M', 22,'北京市昌平区','2345678'); INSERT INTO work_info V ALUES( 3,'王五', 'F', 17,'湖南省永州市','3456789'); INSERT INTO work_info V ALUES( 4,'赵六', 'F', 25,'辽宁省阜新市','4567890');3.创建视图info_viewCREATE ALGORITHM=MERGE VIEWinfo_view ( id,name, sex, address )AS SELECT id,name, sex, addressFROM work_info WHERE age>20WITH LOCAL CHECK OPTION;4.查看视图info_view的基本结构和详细结构查看基本结构的代码如下:DESC info_view;查看详细结构的代码如下:SHOW CREATE VIEW info_view \G5.查看视图info_view的所有记录SELECT * FROM info_view;6.修改视图info_viewALTER ALGORITHM=MERGE VIEWinfo_view ( id,name, sex, address )AS SELECT id,name, sex, addressFROM work_info WHERE age<20WITH LOCAL CHECK OPTION;7.更新视图UPDATE info_view SET sex='M' WHERE id=3;8.删除视图DROP VIEW info_view;八、(1)在example数据库下创建college表。
linux中mysql 基本命令MySQL是一种开源的关系型数据库管理系统,广泛应用于Web应用程序的开发中。
在Linux系统中,MySQL也是一种常用的数据库管理工具。
本文将介绍MySQL在Linux系统中的基本命令。
1. 登录MySQL在Linux系统中,可以通过以下命令登录MySQL:```mysql -u username -p```其中,username为MySQL的用户名,-p表示需要输入密码。
输入密码后,即可进入MySQL的命令行界面。
2. 创建数据库在MySQL中,可以通过以下命令创建数据库:```CREATE DATABASE database_name;```其中,database_name为需要创建的数据库名称。
创建成功后,可以通过以下命令查看所有数据库:```SHOW DATABASES;```3. 删除数据库在MySQL中,可以通过以下命令删除数据库:```DROP DATABASE database_name;```其中,database_name为需要删除的数据库名称。
删除前需要确认是否真的需要删除,以免误操作。
4. 创建表在MySQL中,可以通过以下命令创建表:```CREATE TABLE table_name (column1 datatype,column2 datatype,column3 datatype,.....);```其中,table_name为需要创建的表名称,column为表中的列名,datatype为列的数据类型。
创建成功后,可以通过以下命令查看所有表:```SHOW TABLES;```5. 删除表在MySQL中,可以通过以下命令删除表:```DROP TABLE table_name;```其中,table_name为需要删除的表名称。
删除前需要确认是否真的需要删除,以免误操作。
6. 插入数据在MySQL中,可以通过以下命令插入数据:```INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);```其中,table_name为需要插入数据的表名称,column为表中的列名,value为需要插入的值。
MYSQL命令大全2008年12月10日星期三上午 11:44常见的MySQL命令大全2007-11-09 17:59一、连接MySQL格式: mysql -h主机地址 -u用户名-p用户密码1、例1:连接到本机上的MYSQL。
LAMP知识首先在打开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 \"密码\"LAMP知识例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版本和当前日期LAMP知识select version(),current_date;2、修改mysql中root的密码:shell>mysql -u root -pmysql> update user set password=password(”xueok654123″) whereuse r=’root’;LAMP知识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 IDENTIFIEDBY ’something’ WITH GRANT OPTION;GRANT ALL PRIVILEGES ON *.* TO monty@”%” IDENTIFIEDBY ’something’ WIT H 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 LAMP知识其中,只有指定了-T参数才可以卸出纯文本文件,表示卸出数据的目录,./表示当前目录,即与mysqldump同一目录。
如果不指定driver 表,则将卸出整个数据库的数据。
每个表会生成两个文件,一个为.sql文件,包含建表执行。
另一个为.txt文件,只包含数据,且没有sql指令。
5、可将查询存储在一个文件中并告诉mysql从文件中读取查询而不是等待键盘输入。
可利用外壳程序键入重定向实用程序来完成这项工作。
例如,如果在文件my_file.sql 中存放有查询,可如下执行这些查询:例如,如果您想将建表语句提前写在sql.txt中:mysql > mysql -h myhost -u root -p database < sql.txt1、安装环境:Windows XPMysql 4.0.17 从下次就需要用mysql -uroot -proot才可以登陆在远程或本机可以使用 mysql -h 172.5.1.183 -uroot 登陆,这个根据第二行的策略确定权限修改生效:1)net stop mysqlnet start mysql2)c:\mysql\bin\mysqladmin flush-privileges3)登陆mysql后,用flush privileges语句6、创建数据库staffercreate database staffer;7、下面的语句在mysql环境在执行显示用户拥有权限的数据库 show databases;切换到staffer数据库 use staffer;显示当前数据库中有权限的表 show tables;显示表staffer的结构 desc staffer;8、创建测试环境LAMP知识1)创建数据库staffermysql> create database staffer2)创建表staffer,department,position,depart_poscreate table s_position(id int not null auto_increment,name varchar(20) not null default '经理', #设定默认值 description varchar(100),primary key PK_positon (id) #设定主键);create table department(id int not null auto_increment,name varchar(20) not null default '系统部', #设定默认值 description varchar(100),primary key PK_department (id) #设定主键);create table depart_pos(department_id int not null,position_id int not null,primary key PK_depart_pos(department_id,position_id) #设定复和主键);create table staffer(id int not null auto_increment primary key, #设定主键name varchar(20) not null default '无名氏', #设定默认值department_id int not null,position_id int not null,unique (department_id,position_id) #设定唯一值);3)删除mysql>drop table depart_pos;drop table department;drop table s_position;drop table staffer;drop database staffer;9、修改结构mysql>LAMP知识#表position增加列testalter table position add(test char(10));#表position修改列testalter table position modify test char(20) not null;#表position修改列test默认值alter table position alter test set default 'system';#表position去掉test默认值alter table position alter test drop default;#表position去掉列testalter table position drop column test;#表depart_pos删除主键alter table depart_pos drop primary key;#表depart_pos增加主键alter table depart_pos add primary key PK_depart_pos (department_id,position_id);10、操作数据#插入表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('总监','总监');LAMP知识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 cwhere a.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 --databasesstaffer>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跳过或者忽略那些有相同唯一关键字的行,导入文件中的数据将被忽略。