MYSQL 常用命令
mysql命令参数
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命令参数详解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和sqlite语法
mysql和sqlite语法MySQL和SQLite是两种常见的关系型数据库管理系统(RDBMS),它们都具有自己的语法和特点。
本文将详细介绍MySQL和SQLite的语法与用法,并对它们的异同进行比较。
一、MySQL语法 MySQL是一种开源的关系型数据库管理系统,它的语法相对较为复杂。
MySQL的语法由不同的命令组成,常见的命令包括创建数据库、创建表、插入数据、查询数据、更新数据和删除数据。
以下是MySQL的一些常用语法及用法:1. 创建数据库使用CREATE DATABASE命令可以创建一个新的数据库。
例如,创建名为“mydb”的数据库:``` CREATE DATABASE mydb; ```2. 创建表使用CREATE TABLE命令可以创建一个新的表。
例如,创建名为“users”的表,包含id、name和age 字段: ``` CREATE TABLE users ( id INT PRIMARY KEY, name VARCHAR(50), age INT ); ```3. 插入数据使用INSERT INTO命令可以向表中插入新的数据。
例如,向“users”表中插入一条数据: ``` INSERT INTO users (id, name, age) VALUES (1,'John', 25); ```4. 查询数据使用SELECT命令可以从表中查询数据。
例如,查询“users”表中的所有数据: ``` SELECT * FROM users; ```5. 更新数据使用UPDATE命令可以更新表中的数据。
例如,将“users”表中id为1的记录的age字段更新为30: ``` UPDATE users SET age = 30 WHERE id = 1;```6. 删除数据使用DELETE命令可以从表中删除数据。
例如,删除“users”表中id为1的记录: ``` DELETE FROM users WHERE id = 1; ```二、SQLite语法 SQLite是一种轻量级的关系型数据库管理系统,它的语法相对简单。
MYSQL数据库命令大全
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客户端常用命令
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数据库常用语句大全
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查询语句大全及用法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常用命令行大全
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)
mysqladmin命令行工具的语句
mysqladmin命令行工具的语句mysqladmin是MySQL数据库管理工具的命令行界面。
它提供了一些常用的管理和监控数据库的功能。
以下是一些常用的mysqladmin 命令行工具的语句:1. 查看MySQL服务器状态:```mysqladmin status```2. 查看当前连接到MySQL服务器的客户端信息:```mysqladmin processlist```3. 查看MySQL服务器版本信息:```mysqladmin version```4. 关闭MySQL服务器:```mysqladmin shutdown```5. 重新启动MySQL服务器:```mysqladmin reload```6. 查看当前数据库的信息:```mysqladmin -u <username> -p <password> database status```7. 创建新的数据库:```mysqladmin -u <username> -p <password> create <database_name> ```8. 删除数据库:```mysqladmin -u <username> -p <password> drop <database_name> ```这些是一些常用的mysqladmin命令行工具的语句,通过使用这些命令可以方便地管理和监控MySQL数据库。
请注意替换`<username>`和`<password>`为你的MySQL服务器的用户名和密码,`<database_name>`为你要操作的数据库名称。
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常用查询命令
删除 primary key 1、alter table tablename drop primary key; 2、drop primary key on tablename; 修改 table 表数据引擎 mysql> alter table tableName ENGINE = MyISAM (InnoDB); 增加一新字段名: mysql> alter table mytable add column single char(1); mysql> ALTER TABLE table ADD field INT(11) UNSIGNED NOT NULL 删除字段 mysql> alter table t2 drop column c; 附: 为了改变列 a,从 INTEGER 改为 TINYINT NOT NULL(名字一样), 并且改变列 b,从 CHAR(10)改为 CHAR(20),同时重命名它,从 b 改为 c: ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20); 增加一个新 TIMESTAMP 列,名为 d: ALTER TABLE t2 ADD d TIMESTAMP; 在列 d 上增加一个索引,并且使列 a 为主键: ALTER TABLE t2 ADD INDEX (d), ADD PRIMARY KEY (a); 增加一个新的 AUTO_INCREMENT 整数列,命名为 c: ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT,ADD INDEX (c); 注意,我们索引了 c,因为 AUTO_INCREMENT 柱必须被索引, 并且另外我们声明 c 为 NOT NULL,因为索引了的列不能是 NULL。 使用 name 列的头 10 个字符创建一个索引: CREATE INDEX part_of_name ON customer (name(10));
数据库 常用命令
数据库常用命令数据库常用命令一、概述数据库是计算机系统中非常重要的一个组成部分,它可以存储和管理大量的数据。
在使用数据库时,我们需要掌握一些基本的命令,以便对数据库进行操作。
本文将介绍数据库常用命令。
二、MySQL 命令MySQL 是一种非常流行的关系型数据库管理系统。
以下是 MySQL 常用命令:1. 创建数据库CREATE DATABASE database_name;2. 删除数据库DROP DATABASE database_name;3. 选择使用的数据库USE database_name;4. 创建表格CREATE TABLE table_name (column1 datatype,column2 datatype,column3 datatype,....);5. 删除表格DROP TABLE table_name;6. 插入数据INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);7. 更新数据UPDATE table_nameSET column1 = value1, column2 = value2, ...WHERE condition;8. 删除数据DELETE FROM table_name WHERE condition;9. 查询数据SELECT column1, column2, ...FROM table_nameWHERE conditionORDER BY column1 ASC/DESC;三、Oracle 命令Oracle 是另一种流行的关系型数据库管理系统。
以下是 Oracle 常用命令:1. 创建用户和密码CREATE USER username IDENTIFIED BY password;2. 授权用户访问表格或视图等对象的权限GRANT privilege ON object TO user;3. 撤销用户对对象的权限授权REVOKE privilege ON object FROM user;4. 创建表格CREATE TABLE table_name (column1 datatype,column2 datatype,column3 datatype,....);5. 删除表格DROP TABLE table_name;6. 插入数据INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);7. 更新数据UPDATE table_nameSET column1 = value1, column2 = value2, ...WHERE condition;8. 删除数据DELETE FROM table_name WHERE condition;9. 查询数据SELECT column1, column2, ...FROM table_nameWHERE conditionORDER BY column1 ASC/DESC;四、SQL Server 命令SQL Server 是微软公司开发的一种关系型数据库管理系统。
mysql基本命令
在进行开发和实际应用中,用户不应该只用root用户进行连接数据库,虽然使用root用户进行测试时很方便,但会给系统带来重大安全隐患,也不利于管理技术的提高。我们给一个应用中使用的用户赋予最恰当的数据库权限。如一个只进行数据插入的用户不应赋予其删除数据的权限。MySql的用户管理是通过User表来实现的,添加新用户常用的方法有两个,一是在User表插入相应的数据行,同时设置相应的权限;二是通过GRANT命令创建具有某种权限的用户。其中GRANT的常用用法如下:
mysql>grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";
但例1增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的MySQL数据库并对你的数据可以为所欲为了,解决办法见例2。
mysql>select version(),current_date;
mysql>select version(),
->current_date;
select 内部命令?
10.mysql>flush privileges 刷新数据库
11.mysq
14.5 导入表
进入数据库,执行导入操作
mysql>use asb;
mysql>source d:\yg.sql;
15.将表中记录清空:
mysql>delete from yg;
MySQL数据库管理常用命令
root密码管理设置root用户的密码mysqladmin -uroot password 'password'。
修改root用户的密码mysqladmin -uroot -p password 'password'。
数据库,表管理进入mysqlmysql -h hostname -uroot -p。
创建数据库mysql> create database location。
导入数据结构mysql -uroot -p location <./location.sql。
查看数据库mysql> show databases;进入某个库mysql> use location;查看表信息mysql> show tables;查看表结构mysql> desc Contact;改表名mysql> rename table Contact to Contact_new。
删除库mysql> drop database location。
删除表mysql> drop table Contact。
授权部分建立用户并授权mysql> grant all on location.* to gk1020@'10.1.11.71' identified by 'gk1020'。
取消授权mysql> revoke all on location.* from gk1020@'10.1.11.71'。
刷新权限mysql> flush privileges。
操作语句查询mysql> select * from Contact。
mysql> select count(*) from Contact。
修改mysql> update Contact set RegTime=‘2008-01-01 00:00:00’ where id=1。
linux mysql 命令参数
linux mysql 命令参数MySQL是一个广泛使用的关系型数据库管理系统,它可以在各种操作系统上运行,其中包括Linux操作系统。
在Linux上,使用MySQL 时,有许多不同的命令参数可供选择,用于执行各种任务和配置选项。
以下将介绍一些常用的MySQL命令参数,并提供简要解释。
1. --user (-u):指定连接MySQL的用户名。
示例:mysql -u root2. --password (-p):指定连接MySQL的密码。
示例:mysql -u root -p3. --host (-h):指定连接MySQL的主机名或IP地址。
示例:mysql -u root -h localhost4. --database (-D):指定连接MySQL的默认数据库。
示例:mysql -u root -D mydatabase5. --port (-P):指定连接MySQL的端口号。
示例:mysql -u root -P 33066. --socket (-S):指定连接MySQL的套接字文件。
示例:mysql -u root -S /var/run/mysqld/mysqld.sock7. --execute (-e):执行指定的SQL语句。
示例:mysql -u root -e "SELECT * FROM mytable"8. --silent (-s):屏蔽错误和警告信息。
示例:mysql -u root -s9. --verbose (-v):显示详细的信息。
示例:mysql -u root -v10. --show-warnings:显示警告信息。
示例:mysql -u root --show-warnings11. --batch (-B):以批处理模式运行,适用于将结果导出到文件。
示例:mysql -u root -B -e "SELECT * FROM mytable" > output.txt12. --html:以HTML格式显示查询结果。
mysql数据库的基本使用命令总结
mysql数据库的基本使⽤命令总结mysql数据库是⼀个常⽤的关系型数据库关系型数据库核⼼元素有哪些?主键:特殊字段,⽤来唯⼀标识记录的唯⼀性字段:数据列记录:数据⾏数据表:数据⾏的集合数据库:数据表的集合安装、启动、停⽌、重启mysql服务器的命令安装:sudo apt-get install mysql-server启动:sudo service mysql start# 查看进程中是否存在mysql服务 ps ajx|grep mysql停⽌:sudo service mysql stop重启:sudo service mysql restartmysql 数据库的操作1.连接数据库mysql -u root -pmysql不显⽰密码连接python@ubuntu:~/Desktop$ mysql -u root -pEnter password: mysql退出数据库ctrl+l:清除命令屏幕quit\exit2.创建数据库create database 数据库名 charset=utf8;### 创建数据库时⼀定要记得解决编码问题3.查看当前使⽤的数据库: select database();查看所以数据库: show databases;查看当前数据库中所有表: show tabes;查看当前表中所有的列: select * from 表名;查看表结构: desc 表名;4. 1)创建表需要⽤到的数据类型:整数: int,bit #int unsigned:⽆符号整形 #tinyint unsigned:⽆符号整形(但范围⽐较⼩,⼀般⽤于年龄) #.bit是位数据类型,长度为1字节;int 是整型;bit 实际就是bool类型,只能是0和1,int的是4个字节的整型⼩数: decimal #decimal(5,2)表⽰五位数字,两位⼩数点字符串: varchar,char #varchar:可变字符串⽇期时间: date, time, datetime枚举类型: enum主键: primary key⾃动增长(增加): atuo_increment默认值: default不能为空: not null外键: foreign keyin2)表格式:create table 数据表名字(id ⽆符号整形主键⾃动增长(增加) 不能为空; name 可变字符串(数字/范围) 默认值'';age ⽆符号整形默认值0;height ⼩数;gender 枚举默认值;foreign key ⽆符号整形默认值);例如:create table t_students(id int unsigned primary key auto_increment not null,name varchar(10) default '',age tinyint unsigned default 0,height decimal(5,2),gender enum('男','⼥','中性','保密') default '保密',cls_id int unsigned default 0);5.查看创建数据库的语句: show create database 库名查看创建表的语句: show create table 表名6.使⽤数据库: use 数据库名删除数据库: drop database 数据库名删除表: drop table 表名删除表--删除字段(列)alter table 表名 drop 列名7.表的修改:1)修改表-添加字段 kouhao (班级⼝号)alter table 表名 add 列名类型及约束;alter table t_classes add kouhao varchar(20) not null default '⼈⽣苦短,我⽤Python';2)修改表-修改字段:重命名版alter table 表名 change 原名新名类型及约束;alter table t_classes change kouhao logo varchar(20);3)修改表-修改字段:不重命名版alter table 表名 modify 列名类型及约束;alter table t_classes modify logo varchar(20) not null default '⼈⽣苦短,我⽤Python';8.数据的增删改查(curd)curd的解释: 代表创建(Create)、更新(Update)、读取(Retrieve)和删除(Delete)1)增加1.全列插⼊insert [into] 表名 values(...) #into可⽤可不⽤主键字段可以⽤ 0 null default 来占位如:向classes表中插⼊⼀个班级insert into t_classes values(0,'python02');insert into t_classes values(0,'python01');如:向students表插⼊⼀个学⽣信息(id,name,age,height,gender,cls_id)insert t_students values(null,'⼤乔',23,165.12,'男',1);insert t_students values(null,'李⽩',23,180.12,'⼥',1);2.部分插⼊insert into 表名(列1,...) values(值1,...)insert into t_students(name,gender) values ('张飞',1); #这⾥张飞后⾯的⼀是创建表时,列表性别列对象的枚举参数顺序3.多⾏插⼊insert into 表名(name,gender) values("⼩张1",1),("⼩张2",2);insert into t_students(name,gender) values('⼩王',2),('⼤王',3);2)修改update 表名 set 列1=值1,列2=值2... where 条件;1.全部修改update t_students set height=188.88 ;2.按条件修改update t_students set gender='⼥' where id=1;3.按条件修改多个值update students set gender ="",name = "xxx" ;update t_students set height=165.60,gender=1 where id=3;3)查询1.查询所有列select * from 表名;select * from t_students;2.指定条件查询select * from t_students where name='李⽩';3.查询指定列select 列1,列2,... from 表名;select name,age from t_students;4)删除1.物理删除 #删除后不可恢复delete from 表名 where 条件delete from t_students where id=4;2.逻辑删除 #对要删除的对象做标记,可恢复(⽤⼀个字段来表⽰这条信息是否已经不能再使⽤了)需要给students表添加⼀个 isdelete 字段 bit 类型才能进⾏逻辑删除isdelete=1 就是代表删除标记;is_delete=0 就是恢复 #⽤⼆进制0和1表⽰update t_students set isdelete=1 where id=5 ;。
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 table 4.导入数据库方法1:常用source 命令进入mysql数据库控制台,如mysql -u root -pmysql>use 数据库然后使用source命令,后面参数为脚本文件(如这里用到的.sql)mysql>source d:wcnc_db.sql方法2:直接运用mysql命令(不用进入mysql的控制台界面)比如备份了test数据库中的表test,备份文件为test.sql文件yangcr@server:~$ mysql -u visualdb –p test(数据库名) < test.sql(这里的sql文件只是一个表的备份,所以要加上数据库名。
如果备份的是整个数据库就不用了,直接就是:mysql –u visualdb –p < database.bak.sql)5.另一种将mysql数据库进行逻辑备份手段是:使用SELECT …INTO OUTFILE /…/ FROM …例如:select * into outfile '/tmp/dump.txt' fields terminated by '\t' optionally enclosed by '"' lines terminated by '\n' from allcontigs limit 100;解释:在linux系统下,将数据库raw中的allcontigs中的前100条数据备份到/tmp/dump.txt文件中(不知道问什么只能备份到/tmp目录下)。
常用MySQ基础
一、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 数据库名称;如:mysql>create database abc; 默认创建数据库保存在/var/lib/mysql中。
查看数据库是: mysql>show abc;选择数据库是: USE 数据库名称; 如:mysql>use abc;删除数据库是: DROP DATABASE 数据库名称;如:mysql>drop database abc;二、Mysql中数据表的创建和删除语句创建表是:CREATE TABLE 表名称(字段1,字段2,…[表级约束]) [TYPE=表类型];注:其中字段(1,2 )格式为:字段名字段类型[字段约束]如创建一个表student,如下:mysql>CREATE TABLE student (S_id INT AUTO_INCREMENT PRIMARY KEY, -- 添加一个自增的主键IDS_name VARCHAR(50) NOT NULL, -- 学生名字,最大长度为50个字符,不能为空student_numVARCHAR(20) NOT NULL UNIQUE, -- 学号,最大长度为20个字符,不能为空且必须是唯一的gender ENUM('1', '2'), -- 性别,可以是'1'或'2'subject VARCHAR(100) -- 科目,最大长度为100个字符);***可用describe命令查看表的结构。
mysql授权、启动、启动服务常用命令
mysql授权、启动、启动服务常⽤命令⼀、四种启动⽅式:1、mysqld启动mysql服务器: ./mysqld --defaults-file=/etc/f --user=root客户端连接: mysql --defaults-file=/etc/f 或 mysql -S /tmp/mysql.sock2、mysqld_safe启动mysql服务器: ./mysqld_safe --defaults-file=/etc/f --user=root &客户端连接: mysql --defaults-file=/etc/f 或 mysql -S /tm/mysql.sock3、mysql.servercp -v /usr/local/mysql/support-files/mysql.server /etc/init.d/chkconfig --add mysql.server启动mysql服务器:service mysql.server {start|stop|restart|reload|force-reload|status}客户端连接: 同1、24、mysqld_multimkdir $MYSQL_BASE/data2cat <<-EOF>> /etc/f[mysqld_multi]mysqld = /usr/local/mysql/bin/mysqld_safemysqladmin = /user/local/mysql/bin/mysqladminuser = mysqladminpassword = mysqladmin[mysqld3306]port = 3306socket = /tmp/mysql3306.sockpid-file = /tmp/mysql3306.pidskip-external-lockingkey_buffer_size = 16Mmax_allowed_packet = 1Mtable_open_cache = 64sort_buffer_size = 512Knet_buffer_length = 8Kread_buffer_size = 256Kread_rnd_buffer_size = 512Kmyisam_sort_buffer_size = 8Mbasedir = /usr/local/mysqldatadir = /usr/local/mysql/data[mysqld3307]port = 3307socket = /tmp/mysql3307.sockpid-file = /tmp/mysql3307.pidskip-external-lockingkey_buffer_size = 16Mmax_allowed_packet = 1Mtable_open_cache = 64sort_buffer_size = 512Knet_buffer_length = 8Kread_buffer_size = 256Kread_rnd_buffer_size = 512Kmyisam_sort_buffer_size = 8Mbasedir = /usr/local/mysqldatadir = /usr/local/mysql/data2EOF#mysql -S /tmp/mysql3306.sockmysql>GRANT SHUTDOWN ON *.* TO 'mysqladmin'@'localhost' identified by 'mysqladmin' with grant option;#mysql -S /tmp/mysql3307.sockmysql>GRANT SHUTDOWN ON *.* TO 'mysqladmin'@'localhost' identified by 'mysqladmin' with grant option;启动mysql服务器:./mysqld_multi --defaults-file=/etc/f start 3306-3307关闭mysql服务器:mysqladmin shutdown⼆、启动和关闭mysql服务1. windows下:启动: mysqld --console 或 net start mysql关闭: mysqladmin -u root shutdown 或 net stop mysqllinux下:启动: service mysql start停⽌: service mysql stop重启服务: service mysql restart三、创建⽤户分配权限1. 新建⽤户: 创建⼀个名为: buff,密码为: buff的⽤户// root ⽤户登陆 MySQLmysql -uroot -pEnter password:// 新建⽤户mysql>insert into er(Host,User,Password) values("localhost","buff",password("buff"));// 刷新系统权限表mysql>flush privileges;登录测试mysql>exit// ⽤户 buff 登陆 MySQLmysql -ubuff -pEnter password:mysql>// 说明新建的⽤户buff登录成功⽤户授权// root ⽤户登陆 MySQLmysql -uroot -pEnter password:// 为⽤户 buff 创建⼀个数据库 bluebuffmysql>create database bluebuff;// 授权⽤户 buff 拥有数据库 bluebuff 的所有权限mysql>grant all privileges on bluebuff.* to buff@localhost identified by 'buff';mysql>flush privileges;登录测试// ⽤户 buff 登陆数据库mysql -ubuff -pEnter privileges:// 显⽰数据库mysql>show databases;结果如下图所⽰,说明为⽤户 buff 授权成功5、修改⽤户 buff 的密码// root ⽤户登陆 MySQLmysql -uroot -pEnter password:// 修改⽤户 buff 的密码mysql>update table er set password=password('buffer') where User='buff' and Host='localhost';mysql>flush privileges;6、删除⽤户// root ⽤户登陆 MySQLmysql -uroot -pEnter password:// 删除⽤户 buffmysql>delete from er where User = 'buff' and Host = 'localhost';mysql>flush privileges;7、删除数据库mysql>drop database bluebuff;四、查看⽤户授予的权限在mysql中,授予⽤户的权限可能分全局层级权限、数据库层级权限、表层级别权限、列层级别权限、⼦程序层级权限1. 全局层级:全局权限适⽤于⼀个给定服务器中的所有数据库。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 <表名> ( <字段名1> <类型1> [,..<字段名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 '0',> 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 <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )] 例如,往表 MyClass中插入二条记录, 这二条记录表示:编号为1的名为Tom的成绩为96.45, 编号为2 的名为Joan 的成绩为82.99,编号为3 的名为Wang 的成绩为96.5.mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);5、查询表中的数据1)、查询所有行命令: select <字段1,字段2,...> from < 表名 > where < 表达式 >例如:查看表 MyClass 中所有数据mysql> select * from MyClass;2)、查询前几行数据例如:查看表 MyClass 中前2行数据mysql> select * from MyClass order by id limit 0,2;或者:mysql> select * from MyClass limit 0,2;6、删除表中数据命令:delete from 表名 where 表达式例如:删除表 MyClass中编号为1 的记录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),默认值为0mysql> alter table MyClass add passtest int(4) default '0'8、更改表名:命令:rename table 原表名 to 新表名;例如:在表MyClass名字更改为YouClassmysql> rename table MyClass to YouClass;更新字段内容update 表名 set 字段名 = 新内容update 表名 set 字段名 = replace(字段名,'旧内容','新内容');文章前面加入4个空格update article set content=concat(' ',content);字段类型1.INT[(M)] 型:正常大小整数类型2.DOUBLE[(M,D)] [ZEROFILL] 型:正常大小(双精密)浮点数字类型3.DATE 日期类型:支持的范围是1000-01-01到9999-12-31。
MySQL以YYYY-MM-DD格式来显示DATE值,但是允许你使用字符串或数字把值赋给DATE列4.CHAR(M) 型:定长字符串类型,当存储时,总是是用空格填满右边到指定的长度5.BLOB TEXT类型,最大长度为65535(2^16-1)个字符。
6.VARCHAR型:变长字符串类型5.导入数据库表(1)创建.sql文件(2)先产生一个库如auction.c:mysqlbin>mysqladmin -u root -p creat auction,会提示输入密码,然后成功创建。
(2)导入auction.sql文件c:mysqlbin>mysql -u root -p auction < auction.sql。
通过以上操作,就可以创建了一个数据库auction以及其中的一个表auction。
6.修改数据库(1)在mysql的表中增加字段:alter table dbname add column userid int(11) not null primary keyauto_increment;这样,就在表dbname中添加了一个字段userid,类型为int(11)。
7.mysql数据库的授权mysql>grant select,insert,delete,create,dropon *.* (或test.*/user.*/..)to 用户名@localhostidentified by '密码';如:新建一个用户帐号以便可以访问数据库,需要进行如下操作:mysql> grant usage-> ON test.*-> TO testuser@localhost;Query OK, 0 rows affected (0.15 sec)此后就创建了一个新用户叫:testuser,这个用户只能从localhost连接到数据库并可以连接到test 数据库。
下一步,我们必须指定testuser这个用户可以执行哪些操作: mysql> GRANT select, insert, delete,update-> ON test.*-> TO testuser@localhost;Query OK, 0 rows affected (0.00 sec)此操作使testuser能够在每一个test数据库中的表执行SELECT,INSERT和DELETE 以及UPDATE查询操作。
现在我们结束操作并退出MySQL客户程序:mysql> exit1:使用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';以下是无意中在网络看到的使用MySql的管理心得,摘自:/article/htmldata/2004_12/3/57/article_1060_1.html 在windows中MySql以服务形式存在,在使用前应确保此服务已经启动,未启动可用net start mysql命令启动。