• MySQL常用操作基本操作


    MySQL常用操作基本操作,以下都是MySQL5.0下测试通过首先说明下,记住在每个命令结束时加上;(分号)
    1.导出整个数据库
    mysqldump -u用户名-p --default-character-set=latin1数据库名>导出的文件名(数据库默认编码是latin1)
    mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
    2.导出一个表
    mysqldump -u用户名-p数据库名 表名>导出的文件名
    mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
    3.导出一个数据库结构
    mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:wcnc_db.sql
    -d没有数据–add-drop-table在每个create语句之前增加一个drop table
    4.导入数据库
    常用source命令
    进入mysql数据库控制台,
    如mysql -u root -p
    mysql>use数据库
    然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
    mysql>source d:wcnc_db.sql

    一、启动与退出
    1、进入MySQL:启动MySQL Command Line Client(MySQL的DOS界面),直接输入安装时的密码即可。此时的提示符是:mysql>
    2、退出MySQL:quitexit
    二、库操作
    1、、创建数据库
    命令:create database<数据库名>
    例如:建立一个名为xhkdb的数据库
    mysql> create database xhkdb;
    2、显示所有的数据库
    命令:show databases(注意:最后有个s)
    mysql>show databases;
    3、删除数据库
    命令:drop database<数据库名>
    例如:删除名为xhkdb的数据库
    mysql>drop databasexhkdb;
    4、连接数据库
    命令:use<数据库名>
    例如:如果xhkdb数据库存在,尝试存取它:
    mysql>usexhkdb;
    屏幕提示:Database changed
    5、当前选择(连接)的数据库
    mysql>select database();

    6、当前数据库包含的表信息:
    mysql>show tables;(注意:最后有个s)

    三、表操作,操作之前应连接某个数据库
    1、建表
    命令:create table<表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]);

    mysql>create tableMyClass(
    > id int(4) not nullprimary key auto_increment,
    > name char(20) not null,
    > sex int(4) not nulldefault'0',
    > degree double(16,2));
    2、获取表结构
    命令:desc表名,或者show columns from表名
    mysql>DESCRIBE  MyClass
    mysql>descMyClass;
    mysql>show columns from MyClass;
    3、删除表
    命令:drop table<表名>
    例如:删除表名为MyClass的表
    mysql>drop tableMyClass;
    4、插入数据
    命令:insert into<表名> [( <字段名1>[,..<字段名n > ])]values(值1 )[, (值n )]
    例如,往表MyClass中插入二条记录,这二条记录表示:编号为1的名为Tom的成绩为96.45,编号为2的名为Joan的成绩为82.99,编号为3的名为Wang的成绩为96.5.
    mysql>insert intoMyClassvalues(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 * fromMyClassorder byidlimit0,2;
    6、删除表中数据
    命令:delete from表名where表达式
    例如:删除表MyClass中编号为1的记录
    mysql>delete fromMyClasswhereid=1;
    7、修改表中数据:update表名set字段=新值,…where条件
    mysql>updateMyClasssetname='Mary'whereid=1;
    7、在表中增加字段:

    命令:alter table表名add字段 类型 其他;
    例如:在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0
    mysql>alter tableMyClassaddpasstestint(4)default'0'
    8、更改表名:
    命令:rename table原表名to新表名;
    例如:在表MyClass名字更改为YouClass
    mysql>rename tableMyClasstoYouClass;


    更新字段内容
    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型:变长字符串类型

    mysql怎么定义外键

    建立外键的前提: 本表的列必须与外键类型相同(外键必须是外表主键)。

    外键作用: 使两张表形成关联,外键只能引用外表中的列的值!

    指定主键关键字: foreign key(列名)

    引用外键关键字: references <外键表名>(外键列名)

    事件触发限制: on delete和on update , 可设参数cascade(跟随外键改动), restrict(限制外表中的外键改动),set Null(设空值),set Default(设默认值),[默认]no action

    例如:

    outTable表 主键 id 类型 int

    创建含有外键的表:
    create table temp(
    id int,
    name char(20),
    foreign key(id) references outTable(id) on delete cascade on update cascade);

    说明:把id列 设为外键 参照外表outTable的id列 当外键的值删除 本表中对应的列筛除 当外键的值改变 本表中对应的列值改变。

    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 key auto_increment;
      这样,就在表dbname中添加了一个字段userid,类型为int(11)。
      7.mysql数据库的授权
      mysql>grant select,insert,delete,create,drop
      on *.* (或test.*/user.*/..)
      to用户名@localhost
      identified by '密码';
      如:新建一个用户帐号以便可以访问数据库,需要进行如下操作:
      mysql> grant usage
      -> ON test.*
      -> TOtestuser@localhost;
      Query OK, 0 rows affected (0.15 sec)
      此后就创建了一个新用户叫:testuser,这个用户只能从localhost连接到数据库并可以连接到test数据库。下一步,我们必须指定testuser这个用户可以执行哪些操作:
      mysql> GRANT select, insert, delete,update
      -> ON test.*
      -> TOtestuser@localhost;
      Query OK, 0 rows affected (0.00 sec)
      此操作使testuser能够在每一个test数据库中的表执行SELECT,INSERT和DELETE以及UPDATE查询操作。现在我们结束操作并退出MySQL客户程序:
      mysql> exit
      Bye

     

  • 相关阅读:
    bzoj 4539 [Hnoi2016]树——主席树+倍增
    bzoj 4137 [FJOI2015]火星商店问题——线段树分治+可持久化01trie树
    bzoj 4025 二分图——线段树分治+LCT
    LOJ 121 「离线可过」动态图连通性——LCT维护删除时间最大生成树 / 线段树分治
    bzoj 3572 [Hnoi2014]世界树——虚树
    bzoj 4650(洛谷 1117) [Noi2016]优秀的拆分——枚举长度的关键点+后缀数组
    洛谷 P3957 跳房子 —— 二分答案+单调队列优化DP
    洛谷 P1578 奶牛浴场 —— 最大子矩形
    bzoj 1510 Kra-The Disks —— 思路
    bzoj 1657 Mooo 奶牛的歌声 —— 单调栈
  • 原文地址:https://www.cnblogs.com/zhenmingliu/p/2524601.html
Copyright © 2020-2023  润新知