zoukankan      html  css  js  c++  java
  • mysql初学,mysql修改,mysql查找,mysql删除,mysql基本命令

    Mysql 下载地址
    https://dev.mysql.com/downloads/mysql/

    1、连接Mysql
    格式: mysql -h主机地址 -u用户名 -p用户密码

    1、连接到本机上的MYSQL。
    首先打开DOS窗口,然后进入目录mysqlin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码。

    如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysql>

    2、连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:
    mysql -h110.110.110.110 -u root -p 123;(注:u与root之间可以不用加空格,其它也一样)

    3、退出MYSQL命令: exit (回车)

    2、修改密码
    格式:mysqladmin -u用户名 -p旧密码 password 新密码

    mysql -u root mysql
    set password for root@localhost=password('secret');
    flush privileges; 更新权限

    1、给root加个密码ab12。
    首先在DOS下进入目录mysqlin,然后键入以下命令
    mysqladmin -u root -password ab12
    注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。

    2、再将root的密码改为djg345。
    mysqladmin -u root -p ab12 password djg345

    3、增加新用户
    注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符

    格式:grant select on 数据库.* to 用户名@登录主机 identified by “密码”

    1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用root用户连入MYSQL,然后键入以下命令:
    grant select,insert,update,delete on *.* to [email=test1@”%]test1@”%[/email]” Identified by “abc”;

    但增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见2。

    2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
    grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “abc”;

    如果你不想test2有密码,可以再打一个命令将密码消掉。
    grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “”;

    命令:create database <数据库名>
    命令:show databases (注意:最后有个s)
    命令:drop database <数据库名>
    命令: use <数据库名>
    命令:mysql> select database(); 选择当前数据库
    命令 : mysql> select version(); 显示mysql版本号
    命令 : mysql> select now(); 显示当前时间
    命令 : SELECT DAYOFMONTH(CURRENT_DATE); 显示日
    命令 : SELECT MONTH(CURRENT_DATE); 显示月
    命令 : SELECT YEAR(CURRENT_DATE); 显示年
    命令 : mysql> SELECT "welecome to my blog!"; 显示字符串
    命令 : select ((4 * 4) / 10 ) + 25; 计算
    命令 : select CONCAT(f_name, " ", l_name) AS Name from employee_data where title = 'Marketing Executive'; 拼接字符串
    命令:create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]); 创建数据表
    eg: 创建一个MyClass表
    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));
    命令 : mysql> desc MyStudents 查看表结构
    命令:drop table <表名>删除表
    命令 : mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59); 插入数据
    命令: select <字段1,字段2,...> from < 表名 > where < 表达式 >
    命令 : mysql> select * from MyClass; 查询所有数据
    命令 : mysql> select * from MyClass order by id limit 0,2; 限制前两行
    命令 : mysql> delete from MyClass where id=1; 删除数据
    命令 : mysql> update MyClass set name='Mary' where id=1; 更新数据

    命令:alter table 表名 add字段 类型 其他; 增加字段
    命令 : mysql> alter table MyClass add passtest int(4) default '0'

    ALTER DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; 修改数据库编码的命令
    ALTER TABLE `menu` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin 修改表的编码的命令
    ALTER TABLE `menu` CHANGE `text` `text` TEXT CHARACTER SET utf8 COLLATE utf8_bin 修改表的编码的命令设置字符为UTF-8即可

    命令 : mysql> alter table employee add primary key(id); 加主关键字索引;
    alert table employees add collumn birthdate date [after | first | last name]
    命令 : mysql> alter table 表名 add unique 索引名 (字段名);
    命令 : mysql> alter table employee add unique emp_name2(cardnumber);加唯一限制条件的索引

    删除某个索引
    mysql> alter table 表名 drop index 索引名;
    例子: mysql>alter table employee drop index emp_name;

    修改原字段名称及类型:
    mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;

    命令:rename table 原表名 to 新表名; 修改表名;

    create table employees2 select * from employees; 复制表
    create table employees2 select name, phone from employees; 如果只需要一部分内容
    create temporary table emp_temp select * from employees; 创建临时表, 得有权限

    drop [temporary] table [if exists] table_name [, table_name, ...]


    1.导出整个数据库
    导出文件默认是存在mysqlin目录下
    mysqldump -u 用户名 -p 数据库名 > 导出的文件名
    mysqldump -u user_name -p123456 database_name > outfile_name.sql

    2.导出一个表
    mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
    mysqldump -u user_name -p database_name table_name > outfile_name.sql

    3.导出一个数据库结构
    mysqldump -u user_name -p -d –add-drop-table database_name > outfile_name.sql
    -d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table

    4.带语言参数导出
    mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt database_name > outfile_name.sql

    例如,将aaa库备份到文件back_aaa中:
      [root@test1 root]# cd /home/data/mysql
      [root@test1 mysql]# mysqldump -u root -p --opt aaa > back_aaa

    7.1 一个建库和建表的实例1
    drop database if exists school; //如果存在SCHOOL则删除
    create database school; //建立库SCHOOL
    use school; //打开库SCHOOL
    create table teacher //建立表TEACHER
    (
    id int(3) auto_increment not null primary key,
    name char(10) not null,
    address varchar(50) default ‘深圳’,
    year date
    ); //建表结束

    //以下为插入字段
    insert into teacher values(”,’allen’,'大连一中’,'1976-10-10′);
    insert into teacher values(”,’jack’,'大连二中’,'1975-12-23′);

    如果你在mysql提示符键入上面的命令也可以,但不方便调试。
    1、你可以将以上命令原样写入一个文本文件中,假设为school.sql,然后复制到c:\下,并在DOS状态进入目录[url=file://\mysql\bin]\mysql\bin[/url],然后键入以下命令:
    mysql -uroot -p密码 < c:\school.sql
    如果成功,空出一行无任何显示;如有错误,会有提示。(以上命令已经调试,你只要将//的注释去掉即可使用)。

    2、或者进入命令行后使用 mysql> source c:\school.sql; 也可以将school.sql文件导入数据库中。

    7.2 一个建库和建表的实例2
    drop database if exists school; //如果存在SCHOOL则删除
    create database school; //建立库SCHOOL
    use school; //打开库SCHOOL
    create table teacher //建立表TEACHER
    (
    id int(3) auto_increment not null primary key,
    name char(10) not null,
    address varchar(50) default ''深圳'',
    year date
    ); //建表结束

    //以下为插入字段
    insert into teacher values('''',''glchengang'',''深圳一中'',''1976-10-10'');
    insert into teacher values('''',''jack'',''深圳一中'',''1975-12-23'');

    注:在建表中
    1、将ID设为长度为3的数字字段:int(3);并让它每个记录自动加一:auto_increment;并不能为空:not null;而且让他成为主字段primary key。

    2、将NAME设为长度为10的字符字段

    3、将ADDRESS设为长度50的字符字段,而且缺省值为深圳。

    4、将YEAR设为日期字段。

    数据类型
    DATE YYYY-MM-DD eg: 20100810 | 2010-08-10 范围 1000-01-01 到 9999-12-31, 中间的-可以不写, 也可以用人其他字符代提 比如 , * !(非数字字母)
    DATETIME YYYY-MM-DD HH:MM:SS eg: 20100810153510 | 2010-08-10 15:35:10 范围: 1000-01-01 00:00:00 到 2037-12-31 23:59:59

    YEAR
    * 两位数值 1~99 1~69=>2001-2069, 70~99=>1970~1999
    * 四位数值 1901~2155
    * 两位数字符串 "00"~"99". 同两位数值
    * 四位数字符串 同四位数值

    BOOL和BOOLEAN TINYINT(1)的别名, 值: 0|1
    BIGINT -9 223 372 036 854 775 808~9 223 372 036 854 775 807
    INT -2 147 483 648 ~ 2 147 483 647

    1. SET NAMES 'utf8';
    它相当于下面的三句指令:
    SET character_set_client = utf8;
    SET character_set_results = utf8;
    SET character_set_connection = utf8;

    2. 创建数据库
    mysql> create database name character set utf8;

    3. 创建表
    CREATE TABLE `type` (
    `id` int(10) unsigned NOT NULL auto_increment,
    `flag_deleted` enum('Y','N') character set utf8 NOT NULL default 'N',
    `flag_type` int(5) NOT NULL default '0',
    `type_name` varchar(50) character set utf8 NOT NULL default '',
    PRIMARY KEY (`id`)
    ) DEFAULT CHARSET=utf8;

    4. 修改数据库成utf8的.
    mysql> alter database name character set utf8;

    5. 修改表默认用utf8.
    mysql> alter table type character set utf8;

    6. 修改字段用utf8
    mysql> alter table type modify type_name varchar(50) CHARACTER SET utf8;


    卸载:

    1、mysql删除,一个文件都不能留
    sudo rm /usr/local/mysql
    sudo rm -rf /usr/local/mysql*
    2、sudo rm -rf /var/db/receipts/com.mysql.*

    如果忘记密码,强行修改:
    step1:
停止Mysql服务
    step2:
进入终端输入:cd /usr/local/mysql/bin/
回车后 登录管理员权限 sudo su
回车后输入以下命令来禁止mysql验证功能 ./mysqld_safe --skip-grant-tables &
回车后mysql会自动重启(偏好设置中mysql的状态会变成running)
    step3. 
输入命令 ./mysql
回车后,输入命令 FLUSH PRIVILEGES; 
回车后,输入命令 ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';


    ps aux | grep mysq*


    1) ps a 显示现行终端机下的所有程序,包括其他用户的程序。
    2)ps -A 显示所有程序。
    3)ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
    4)ps -e 此参数的效果和指定"A"参数相同。
    5)ps e 列出程序时,显示每个程序所使用的环境变量。
    6)ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
    7)ps -H 显示树状结构,表示程序间的相互关系。
    8)ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。
    9)ps s 采用程序信号的格式显示程序状况。
    10)ps S 列出程序时,包括已中断的子程序资料。
    11)ps -t  指定终端机编号,并列出属于该终端机的程序的状况。
    12)ps u  以用户为主的格式来显示程序状况。
    13)ps x  显示所有程序,不以终端机来区分。
    ps是显示当前状态处于running的进程,grep表示在这些里搜索,而ps aux是显示所有进程和其状态。


    修改配置文件 配置字符集
    sudo cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf

    sudo vi /etc/my.cnf

    [client]部分加入:

    default-character-set=utf8

    [mysqld]部分加入:

    character-set-server=utf8

    修改完毕之后再启动mysql

                   本文原创,未经允许,不得转载!!

  • 相关阅读:
    winform 计算器
    js 特效代码网址
    js 动图效果
    计算器 练习
    html frameset 练习
    SQL 仓库管理练习题
    数据库存取图片
    数据库查询Database中的表
    面向对象练习
    C#函数与SQL储存过程
  • 原文地址:https://www.cnblogs.com/qaing123/p/7533061.html
Copyright © 2011-2022 走看看