MySql常用命令

 1. 使用show 语句找出在服务器上当前存在什么数据库: 

mysql> show databases; 

 2. 创建数据库sql语句:   

mysql> create database dbname default charset=utf8; 
 3. 选择你所创建的数据库: 
mysql> use sqldata;
 4. 查看数据库的现有表: 
  mysql> SHOW TABLES;
 5. 创建表:
mysql> create table news(id int not null auto_increment primary key,title varchar(70),summary text,content text);
 6. 显示表的结构:
mysql > desc tablename;

    查看表结构包括注释:

show full fields from table_name;

 

7. 查看建表语句:

mysql> show create table news;

8. 用文本方式将数据导入数据库表中(例如D:/mysql.txt)

  mysql>  Load data local infile “D:/mysql.txt” into table tablename;

 9. 导入数据库文件:

  mysql>use italk;
  mysql>source d:/data_log.sql; 

 10. 删除表

  mysql>drop tabel tablename; 

 

11. 清空表

mysql>delete from table;

 12. 更新表中数据

  mysql>update table set sex="f" where name='hyq';

 13. 删除表中字段:

mysql> alter table oper_log drop column opt_type;  

 14. 建索引:

 create index index_user_username on user(userName)

 15. 删除索引:

 drop index index_user_userId on user;

17. 表中增加字段:

alter table oper_log add module_id bigint(20);

18. 在表指定位置增加字段:

alter table oper_log add module_id bigint(20) after id;

   // 在前面用first

19. 重命名字段:

alter table oper_log change module_id m_id bigint(20);

20. 修改字段类型:

mysql> alter table data_log modify opt_time datetime not null;

 

21. 增加索引

alter table oper_log add index oper_index(id);

22. 增加主键:

alter table oper_log add primary key(id);

24. 修改表名:

mysql> alter table oper_log rename to operate_log;

 

25. 导出数据库的结构

mysqldump -u root -p -d --add-drop-table italk>d:italk.sql

  -d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table. 

 

26. 导出数据库

mysqldump -u root -p italk>d:italk.sql

 

27. 导出数据表

mysqldump -u root -p italk data_log>d:data_log.sql

 

28. 增加外键

增加外键之前,必须在要引用的两个表的两个列上建索引

ALTER TABLE CUSTOMER
  ADD CONSTRAINT FK_userinfo FOREIGN KEY (user_ID)
  REFERENCES USERINFO (ID) ON UPDATE CASCADE ON DELETE RESTRICT;

on delete/on update,用于定义delete,update操作.以下是update,delete操作的各种约束类型:

CASCADE:
外键表中外键字段值会被更新,或所在的列会被删除.
RESTRICT:
RESTRICT也相当于no action,即不进行任何操作.即,拒绝父表update外键关联列,delete记录.
set null:
被父面的外键关联字段被update ,delete时,子表的外键列被设置为null.
而对于insert,子表的外键列输入的值,只能是父表外键关联列已有的值.否则出错.
用法:
1.若不声明on update/delete,则默认是采用restrict方式.
2.对于外键约束,最好是采用: ON UPDATE CASCADE ON DELETE RESTRICT 的方式.
 
29.删除外键:
alter table drop foreign key '外键名'
30.给表的列的字段增加注释:
mysql> alter table news_category modify number varchar(10)  comment '1:company;2
:industry;3:technical';
 
31.查看表的所有域
mysql> show full fields from news_category;
 
32.查看表的索引
mysql> show index from jobs;
 
33. 修改root用户的密码
mysql -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
 
34. 增加新用户
语法 :  CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
create user 'dev'@'localhost' identified by 'test1234';
 给新用户赋权:
grant all privileges on exam.* to dev@localhost;
 这里是把exam数据库的操作权赋予了localhost的dev用户。
给用户部分权限:
grant select,update on wuba.* to dev@localhost identified by '1234';
 

你可能感兴趣的:(sql,mysql)