mysql常用操作

  1. 登录到mysql:mysql -D dbname-h hostname -u username -p,如果是在mysql服务器所运行的机器上运行该命令,可以忽略-h 和hostname这个选项,dbname指定要使用的数据库,username指定登录的用户名。后面加<dbname.sql可以导入已有的sql文件。
  2. 进入到mysql后也可用source sql地址来导入sql文件。
  3. 创建数据库。create database dbname,如create database books创建了一个名为books的数据库。
  4. 用grant和revoke授予和取消权限。grant命令的形式是:GRANT privileges [columns] on item TO user_name [IDENTIFIED BY 'password'] [REQUIRE ssl_options][WITH [GRANT OPTION |limit_options]
  5. show tables可以看到数据库中的所有表的清单。show databases可以查看数据库列表,但只能看到权限范围内的数据库。described 具体表名 可以看到某个特定表的详细信息。
  6. 创建表,设置表中的每一列。以创建一个叫customers的表为例,形式为Customers(CustomerID,Name,Address,City)。CustomerID是主键。create table customers(customerid int unsigned not null auto_increment primary key, name char(50) not null, address char(100) not null, city char(30) not null)。表中的每一列要有名字,有数据类型。NOT NULL意思是表中所有行的此属性必须有一个值,如果没有指定,则该列可以为空。AUTO_INCREMENT是一个特殊的mysql特性,可以在整数列中使用它。他的意思是在表中插入行的时候,如果将该字段设置为空,那么mysql将自动产生一个唯一的标识符值。该值比本列中现存的最大值更大。每个列中只能有一个这样的值。指定AUTO_INCREMENT的列必须为索引列。PRIMARY KEY表示该列是表的主键。本列中的输入必须唯一。mysql将自动索引该列。
  7. 如果发现需要对一个不是主键的列运行许多查询,我们可能希望在该列上添加索引来改善性能。可以使用CREATE INDEX语句来实现。CREATE [UNIQUE|FULLTEXT] INDEX index_name ON table_name (index_column_name [(length)] [ASC|DESC])。在数据库中插入数据。INSERT [INTO] table [(column1,column2,...)] VAlUES(value1,value2,value3,...)。如insert into customers values(NULL,'Julie Smith','25 Oak Street','Airport West');或者insert into customers (name,city) values ('Melissa Jones','Nar Nar Goon North')。
  8. 在数据库中获取数据。SELECT [options] items [INTO file_details] FROM tables  [ WHERE conditions] [GROUP BY group_type] [HAVING where_definition ] [ORDER BY order_type][LIMIT limit_criteria ][PROCEDURE proc_name(argument) ] [lock_options]
  9. 更新数据库j记录。UPDATE [LOW_PRIORITY] [IGNORE] tablename SET column1=expression1,column2=expression2,... [WHERE condition][ORDER BY order_criteria][LIMIT number]。更新名为tablename的表,设置没列的名称为适当的表达式。可以通过where子句设置update到特定的行,也可以使用limit子句限制受影响的总行数。order by 通常只在limit子句的连接中使用。如update books set price = price * 1.1
  10. 创建后修改表。ALTER TABLE [IGNORE] tablename alteration [,alteration ...]。如修改customers中name列的允许字符为70个字符,可以用alter table customers modify name char(70) not null。又如增加新的一列,可以这样alter table orders add tax float(6,2) after amount;再如删除新的一列,alter table orders drop tax。
  11. 删除数据库中的记录。DELETE [LOW_PRIOITY] [QUICK][IGNORE] FROM table [WHERE condition][ORDER BY order_cols][LIMIT number]。如果是写成delete from table所有表中的行将被删除.
  12. 删除整个表DROP TABLE table将删除表中的所有行以及表本身。
  13. 删除整个数据库DROP DATABASE database删除所有行,所有表,所有索引和数据库本身。

你可能感兴趣的:(mysql)