mysql服务的启动和停止
net stop mysql
net start mysql
登陆mysql
mysql -u用户名 -p用户密码
如果是连接到另外的机器上,则需要加入一个参数-h机器IP
mysql -h110.110.110.110 -uroot -p123456
#删除数据表
DROP TABLE runoob_tbl;
增加新用户
格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"
1.显示数据库列表。
show databases;
2.显示库里的数据表:
use mysql; //打开库,学过 FOXBASE 的一定不会陌生吧
show tables;
3.显示数据表的结构:
describe 表名;
4.建库:
create database 库名;
5.建表:
use 库名;
create table 表名 (字段设定列表);
#CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
#往表中加入记录
insert into TABLE1 values ("lala","M");
#插入多条
INSERT INTO table_name (field1, field2,...fieldN) VALUES (valueA1,valueA2,...valueAN),(valueB1,valueB2,...valueBN),(valueC1,valueC2,...valueCN)......;
排序ORDER BY
SELECT * from runoob_tbl ORDER BY submission_date DESC;
分组GROUP BY
SELECT name, COUNT(*) FROM employee_tbl GROUP BY name;
SELECT coalesce(name, '总数'), SUM(singin) as singin_count FROM employee_tbl GROUP BY name WITH ROLLUP;
#coalesce 来设置一个可以取代 NUll 的名称
UPDATE 更新
UPDATE runoob_tbl SET runoob_title='学习 C++' WHERE runoob_id=3;
ALTER 修改数据表名或者修改数据表字段
#使用了 ALTER 命令及 DROP 子句来删除以上创建表的 i 字段
ALTER TABLE testalter_tbl DROP i;
ALTER TABLE testalter_tbl ADD i INT;
SHOW COLUMNS FROM testalter_tbl;
#把字段 c 的类型从 CHAR(1) 改为 CHAR(10)
ALTER TABLE testalter_tbl MODIFY c CHAR(10);
#指定字段 j 为 NOT NULL 且默认值为100
ALTER TABLE testalter_tbl MODIFY j BIGINT NOT NULL DEFAULT 100;
#使用 ALTER 命令及 DROP子句来删除字段的默认值
ALTER TABLE testalter_tbl ALTER i DROP DEFAULT;
连接INNER JOIN ON
#交集
SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a INNER JOIN tcount_tbl b ON a.runoob_author = b.runoob_author;
SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a, tcount_tbl b WHERE a.runoob_author = b.runoob_author;
#MySQL left join 与 join 有所不同。 MySQL LEFT JOIN 会读取左边数据表的全部数据,即便右边表无对应数据。
SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a LEFT JOIN tcount_tbl b ON a.runoob_author = b.runoob_author;
#MySQL RIGHT JOIN 会读取右边数据表的全部数据,即便左边边表无对应数据。
SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a RIGHT JOIN tcount_tbl b ON a.runoob_author = b.runoob_author;
6.删库和删表:
drop database 库名;
drop table 表名;
7.将表中记录清空:
delete from 表名;
8.显示表中的记录:
select * from 表名 where runoob_id=3;
SELECT * from runoob_tbl WHERE runoob_author LIKE '%COM';
'%a' //以a结尾的数据
'a%' //以a开头的数据
'%a%' //含有a的数据
'_a_' //三位且中间字母是a的
'_a' //两位且结尾字母是a的
'a_' //两位且开头字母是a的
%:表示任意 0 个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。
_:表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句。
[]:表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。
[^] :表示不在括号所列之内的单个字符。其取值和 [] 相同,但它要求所匹配对象为指定字符以外的任一个字符。
查询内容包含通配符时,由于通配符的缘故,导致我们查询特殊字符 “%”、“_”、“[” 的语句无法正常实现,而把特殊字符用 “[ ]” 括起便可正常查询。
表创建结构语句
SHOW CREATE TABLE 命令获取创建数据表(CREATE TABLE) 语句,该语句包含了原数据表的结构,索引等。
SHOW CREATE TABLE runoob_tbl \G;
复制表
INSERT INTO clone_tbl (runoob_id,
runoob_title,
runoob_author,
submission_date)
SELECT runoob_id,runoob_title,
runoob_author,submission_date
FROM runoob_tbl;
导出数据
mysqldump -u root -p123456 --databases dbname > mysql.dbname
导入数据
mysqlimport -u root -p123456 < mysql.dbname。
文本数据导入数据库
use test;
load data local infile "文件名" into table 表名;
#LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE TABLE1;
#linux后台运行===关闭用ps -aux | grep python|xargs kill -9
nohup python3 manage.py runserver 0.0.0.0:8000 >djo.out 2>&1 &
centos云服务器里
#mysql5.7改密码
vim /etc/my.cnf---skip-grant-tables
service mysqld restart
use mysql;
update mysql.user set authentication_string=password('123456') where user='root';
flush privileges;
quit