1.MySQL的启动与关闭、数据库创建、表的创建与数据的添加查找
net start mysqld 启动mysql服务
mysql -hIP -uroot -Pport -ppassword 连接数据库
mysql --user root --password 连接数据库
mysql --host localhost --user root --password 连接数据库
mysql -hlocalhost -uroot -p 连接数据库简写
show databases; 或者 show databases\g 显示
\c 是取消掉全部命令
键盘Esc是取消一行的命令
grant all on 数据库名称.* to "普通用户"@"IP adress" identified by "普通用户密码"; 创建一个普通用户 并且给予密码 赋予指定的数据库访问权限
PS:如果原本就存在此用户那么后面的identified by ""就不需要 防止修改用户的原始密码。
create database 数据库名称; 创建数据库
use 数据库名称; 使用数据库
show tables; 显示表
create table 表名(name VARCHAR(20), owner VARCHAR(20), species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);
名字、主人、种类,性别、出生和死亡日期
DESCRIBE 表名; 验证表是否存在 结构是否正确
按F7查看历史命令
insert into 表名 (name , owner , species , sex , birth , deate) values('Puffball','Diane','hamster','f','1999-03-30',NULL);
为表中添加一条新纪录
SELECT * FROM 表名;
从一个表中检索所有记录
在两台机器之间移动数据库的最简单(尽管不是最快)的方法是在数据库所在的机器上运行下面的命令:
mysqladmin -h 'other_hostname' create db_name
mysqldump --opt db_name | mysql -h 'other_hostname' db_name
如果你想要从远程机器通过慢速网络复制数据库,可以使用:
mysqladmin create db_name
mysqldump -h 'other_hostname' --opt --compress db_name | mysql db_name
mysqldump -uroot -p 表名 > D:/表名.sql 备份数据库到本地D盘
mysqldump --quick db_name | gzip > db_name.contents.gz
drop datebase 数据库名; 删除数据库
drop table 表名; 删除表
mysql -uroot -p journey < d:/表名.sql 导入数据
或者使用source d:/表名.sql; 导入数据
cerate databese webclass default character set utf8;
建立一个库指定字符集
create table stu( id int(10) primary key auto_increment ,name char(30) not null ,sex tinyint(1) default 0 ,qq varchar(255)) default character set utf8 engine myisam;
创建一个stu表
PS:auto_increment是设置自动增加
insert into stu(name,sex,qq) values('征程' , 1 ,xxxxxxxxx);
插入一条信息
insert into stu(name,sex,qq) values('journey' , 0 ,xxxxxxxxx);
插入第二条信息
select version(); 查看MySQL的版本信息
select database(); 显示当前使用的库
set @s=2; 定义一个变量
select @s*200; //400
select * from stu; 将表中的数据全部显示
select * from stu where name="journey"; where按条件查找
select * from stu where name like "jou%"; 模糊查询
select * from stu where name like "%jou%"; 模糊查询
select * from stu where name like "jou%" and sex=0; 模糊查询姓jou并且sex是0的
select * from stu where name like "jou%" or sex=0; 模糊查询姓jou或者sex是0的
select sname,sex from stu; 按索引
select if(sex , "男生" ,"女生") ,name ,sex from stu; 判断是1就返回男生0就返回女生
select if(sex , "男生" ,"女生") as stusex ,name ,sex from stu; 判断是1就返回男生0就返回女生
PS:as设置别名
select * from stu where name like "%jou%" and sex=0;
select concat("姓名:" ,name ,"性别:" ,sex ,"QQ:" ,qq) as "stuinfo" from stu;
+-------------------------------------------+
| stuinfo |
+-------------------------------------------+
| 姓名:xx性别:1QQ:xxxxxxxxxxxxxxxx |
|
+-------------------------------------------+
PS:concat是将字符串与字段进行连接中间的是逗号分隔
select concat("姓名:" ,name ,"性别:" ,if(sex , "男" ,"女") ,"QQ:" ,qq) as "stuinfo" from stu;
+--------------------------------------------+
| stuinfo |
+--------------------------------------------+
| 姓名:xxx性别:男QQ:xxxxxxxxxxxx |
| 姓名:journey性别:女QQ:xxxxxxxxxxxxxxx|
+--------------------------------------------+
select concat("姓名:" ,name ,"性别:" ,if(sex , "男" ,"女") ,"QQ:" ,qq) as "stuinfo" from stu where sex=0;
+--------------------------------------------+
| stuinfo |
+--------------------------------------------+
| 姓名:xxxxx性别:女QQ:xxxxx xxxxxx|
+--------------------------------------------+