0. 远程连接数据库
mysql -u devtest -h 10.248.0.51 -P 3308 -p
1. 使用show 语句找出在服务器上当前存在什么数据库:
mysql> show databases;
2. 创建数据库sql语句:
mysql> create database dbname default charset=utf8;
3. 选择你所创建的数据库:
mysql> use testdb;
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);
alter table xxx add yn tinyint(1) not null default '1'
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);
alter table xxx add index idx_yn(yn)
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';