zoukankan      html  css  js  c++  java
  • MYSQL数据库常用命令

    1、linux 安装数据库

    # yum install mysql* -y

    2、启动数据库/关闭数据库/重启数据库/查看数据库状态

    # /etc/init.d/mysqld start
    # /etc/init.d/mysqld stop
    # /etc/init.d/mysqld restart
    # /etc/init.d/mysqld status

    3、开机启动数据库

    # chkconfig mysql on

    4、配置修改数据库root密码

    # mysqladmin -uroot password "123456"
    或:
    mysql> SET PASSWORD FOR 'root'@'localhost'=PASSWORD('123456');

    5、使用root用户登录数据库

    # mysql -uroot -p123456

    6、创建数据库xiessdb

    mysql> CREATE DATABASE xiessdb;

    注:mysql语句中";"表示结束,也可以用"g"或者"G"表示,"g"与";"相同,"G"可以显示让结果更加直观

    7、使用show查看数据库xiess

    mysql> show DATABASES;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | test               |
    | xiessdb            |
    +--------------------+
    4 rows in set (0.00 sec)

    8、删除数据库xiessdb

    mysql> DROP DATABASE xiessdb;

    9、查看MYSQL数据库支持的存储引擎类型

    mysql> show ENGINES;
    +------------+---------+------------------------------------------------------------+--------------+------+------------+
    | Engine     | Support | Comment                                                    | Transactions | XA   | Savepoints |
    +------------+---------+------------------------------------------------------------+--------------+------+------------+
    | MRG_MYISAM | YES     | Collection of identical MyISAM tables                      | NO           | NO   | NO         |
    | CSV        | YES     | CSV storage engine                                         | NO           | NO   | NO         |
    | MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance     | NO           | NO   | NO         |
    | InnoDB     | YES     | Supports transactions, row-level locking, and foreign keys | YES          | YES  | YES        |
    | MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables  | NO           | NO   | NO         |
    +------------+---------+------------------------------------------------------------+--------------+------+------------+

    engine参数是存储引擎名称;support参数是指mysql是否支持该类引擎;comment参数是指对该引擎的评论;transactions参数表示是否支持事件处理;savepoints参数表示是否支持保存点,以便事务回滚到保存点。 另一个show语句查询支持的存储引擎信息。

    mysql> show VARIABLES LIKE 'have%';

    使用show语句查询默认存储引擎

    mysql> show VARIABLES LIKE 'storage_engine';

    修改默认的存储引擎为InnoDB

    修改my.cnf配置文件,在[mysqld]后面添加

    default-storage-engine=InnoDB

    重启数据库

    10、数据库表

    表是数据库存储数据的基本单位。一个表包含若干个字段或纪录。

    注:在创建表时,首先要选择数据库,选择数据库的语句为"use 数据库名"。

    mysql> use xiessdb;

    在xiessdb数据库下创建名为mydb01的表

    mysql> CREATE TABLE mydb01(id INT,name VARCHAR(20),sex BOOLEAN);

    其中,id字段表示整形;name字段表示字符串型;sex字段表示布尔型。

    删除表语法,例:删除表mydddd0

    mysql> DROP TABLE mydddd0;

    设置表的主键。主键是表的一个特殊字段,该字段能唯一地标识该表中的每条信息。

    主键是由一个字段构成,可以直接在该字段的后面加上PRIMARY KEY 来设置,语法规则:属性名 数据类型 PRIMARY KEY

    新建表mydb02,设置stu_id 为主键

    mysql> CREATE TABLE mydb02(stu_id INT PRIMARY KEY,stu_name VARCHAR(20),stu_sex BOOLEAN);

    多字段主键。主键是由多个属性组合而成,在属性定义完后统一设置主键。语法规则:PRIMARY KEY(属性名1,属性名2,...)

    新建表mydb03,设置stu_id,course_id为主键

    mysql> CREATE TABLE mydb03(stu_id INT,course_id INT,grade FLOAT,PRIMARY KEY(stu_id,course_id));

    设置表的外键。外键是表的特殊字段,作用是建立该表d与其父表的关联关系。原则是依赖存在父表的主键,外键可以是空值。基本语法规则:CONSTRAINT 别名 FOREIGN KEY(属性1.1,属性1.2....)PRFERENCES 表名(属性2.1,属性2.2....)

    设置表的非空约束。非空性是指字段的值不能为空值(NULL) 设置非空约束的基本语句规则是:属性名 数据类型 NOT NULL

    mysql> CREATE TABLE mydb04(id INT NOT NULL PRIMARY KEY,name VARCHAR(20) NOT NULL);

    设置表的唯一性约束。唯一性约束是指所有纪录中该字段的值不能重复出现。唯一性约束的基本语法规则是:属性名 数据类型 UNIQUE

    mysql> CREATE TABLE mydb05(id INT PRIMARY KEY,stu_id INT UNIQUE,name VARCHAR(20) NOT NULL);

    设置表的属性值自动增加。AUTO_INCREMENT是mysql数据库中的一个特殊的约束条件,用于为表中插入的新纪录自动生成唯一的ID。默认情况下,该字段的值是从1开始增长。基本语法规则是:属性名 数据类型 AUTO_INCREMENT

    mysql> CREATE TABLE mydb06(id INT PRIMARY KEY AUTO_INCREMENT,stu_id INT UNIQUE,name VARCHAR(20) NOT NULL);

    设置表属性的默认值。默认值是通过DEFAULT关键字来设置,基本语法规则是:属性名 数据类型 DEFAULT 默认值

    二、查看表结构

    1、查看表结构的语句包括DESCRIBE语句和SHOW CREATE TABLE语句。DESCRIBE语句可以查询表的基本定义。包括字段名、字段数据类型、是否为主键和默认值等。基本语法是:DESCRIBE 表名;

    mysql> DESCRIBE mydb05;
    +--------+-------------+------+-----+---------+-------+
    | Field  | Type        | Null | Key | Default | Extra |
    +--------+-------------+------+-----+---------+-------+
    | id     | int(11)     | NO   | PRI | NULL    |       |
    | stu_id | int(11)     | YES  | UNI | NULL    |       |
    | name   | varchar(20) | NO   |     | NULL    |       |
    +--------+-------------+------+-----+---------+-------+

    2、查看表详细结构语句SHOW CREATE TABLE。该语句可以查看表的字段名、字段的数据类型、完整性约束条件等信息,还可以查看表默认的存储引擎和字符编码。基本语法是:SHOW CREATE TABLE 表名;

    mysql> SHOW CREATE TABLE mydb05;
    +--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | Table  | Create Table                                                                                                                                                                                                   |
    +--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | mydb05 | CREATE TABLE `mydb05` (
      `id` int(11) NOT NULL,
      `stu_id` int(11) DEFAULT NULL,
      `name` varchar(20) NOT NULL,
      PRIMARY KEY (`id`),
      UNIQUE KEY `stu_id` (`stu_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
    +--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

    三、修改表名

    表名是数据库中唯一的。通过语句ALTER TABLE 实现。基本语法是:ALTER TABLE 旧表名 RENAME [TO] 新表名;

    mysql> ALTER TABLE mydb06 RENAME mysqldb006;

    ALTER TABLE 语句也可以修改字段的数据类型,基本语法是:ALTEL TABLE 表名 MODIFY 属性名 数据类型;

    ALTEL TABLE 语句也可以修改表的字段名,基本语法是:ALTEL TABLE 表名 CHANGE 旧属性名 新属性名 新数据类型;

    ALTEL TABLE 语句也可以增加字段,基本语法是:ALTEL TABLE 表名 ADD 属性名1 数据类型 [完整性约束条件] [FIRST | AFTER 属性名2];

    mysql> ALTER TABLE mydb06 ADD phone VARCHAR(20);
    mysql> ALTER TABLE mydb06 ADD age INT(4) NOT NULL;

    注:默认情况下,新增字段都在表的最后一个字段,加上FIRST参数,可将新增字段设置在表的第一个字段。指定位置增加字段,加上"AFTER 属性名2" 参数,则新增字段插入在"属性名2"后面。

    ALTEL TABLE 语句也可以删除表的字段,基本语法是:ALTEL TABLE 表名 DROP 属性名;

    ALTEL TABLE 语句修改字段的排列位置,基本语法是:ALTEL TABLE 表名 MODIFY 属性名1 数据类型 FIRST | AFTER 属性名2;

    ALTEL TABLE 语句更改表的存储引擎,基本语法是:ALTEL TABLE 表名 ENGINE=存储引擎名;

    mysql> ALTER TABLE mydb06 ENGINE=MyISAM;

    ALTEL TABLE 语句删除表的外键约束,基本语法是:ALTEL TABLE 表名 DROP FOREIGN KEY 外键别名;

    四、删除表

    mysql 中使用DORP TABLE 语句删除表,基本语法是:DROP TABLE 表名;

    mysql> DROP TABLE mydb06;

    注:删除被其他表关联的父表。先删除其他表的约束,再删除父表。

  • 相关阅读:
    Django自带的用户认证auth模块
    Django logging模块
    python之MRO和垃圾回收机制
    Django内置form表单和ajax制作注册页面
    自定义登录验证的中间件
    中间件控制访问评率
    多表查询
    单表查询
    同一服务器部署多个tomcat时的端口号修改详情
    反射获取类中的属性和set属性
  • 原文地址:https://www.cnblogs.com/xieshengsen/p/6224242.html
Copyright © 2011-2022 走看看