DB數據庫,Database
DBMS數據庫管理系統,DatabaMemanagmentSystem
SQL結構化查詢語言,structure Query Language
開啟服務
net start mysql80
登錄
mysql -u root -p
顯示數據庫
show databases;
使用數據庫
use mysql;
顯示數據庫表
show tables;
show tables from mysql;
顯示數據庫
select database();
desc stuinfo;
創建數據庫
create database test;
創建數據庫表
create table customer(id int,name varchar(20),password varchar(20),email varchar(30));
刪除某列
alter table customer drop id;
插入一條數據
insert into stuinfo(id,name) values(1,'John');
查詢
select * from stuinfo;
按時間查詢:
select * from test where date_format(createtime,'%Y-%m-%d') between '2020-01-01' and '2021-01-01';
select * from test where createtime between '2020-01-01 00:01:01' and '2021-01-01 01:01:01';
select * from test where createtime between '2020-01-01 00:01:01' and '2021-01-01 01:01:01';
修改
update stuinfo set name='jack' where id=1;
刪除字段
alter table songinfo drop id;
刪除值
delete from stuinfo where id=1;
刪除某個表的所有數據
delete from videos;
或
truncate table videos;
插入新字段在...之后(增加字段)
alter table songinfo add id int primary key auto_increment after score;
插入新字段最前面
alter table songinfo add id int primary key auto_increment first;
插入布爾型
alter table post add essence bit;
重命名數據庫表
rename table oldname to newname;
重置id
alter table news auto_increment=1;
修改字段名
alter table groupcategory change title grouptitle varchar(10);
修改字段類型
alter table t_hp_new modify column thumb blob;
升序/倒序查詢
select * from user order by id asc;
select * from user order by id desc;
顯示版本
select version();
修改密碼
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
或者
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');
復制數據庫表到另一個表
create table gg_admin_upload select * from guessgame.gg_admin_upload;
忘記密碼
打開my.cnf
在[mysqld]里加入,skip-grant-tables
重啟mysql,在輸入密碼的時候直接回車免密碼登錄;
運行 use mysql
update user set authentication_string=password('yourPassword') where user='root'
一些舊的數據庫版本可能是:UPDATE user SET Password = password ( 'yourPassword' ) WHERE User = 'root' ;
在刪除my.conf里面的skip-grant-tables
導出數據庫
mysqldump -uroot -p密碼 database_name>d:/database_name.sql
導入數據庫
create database database_name
use database database_name
source /home/database_name.sql
保存圖片為二進制數據流
創建表:create table pic_bin(id INT PRIMARY KEY AUTO_INCREMENT,filename VARCHAR(100),data MEDIUMBLOB);
java存儲代碼

try { conn = JdbcUtil.connection(); String sql1="insert into pic_bin(filename,data) values(?,?)"; ps = conn.prepareStatement(sql1); ps.setObject(1,"a.jpg"); InputStream in=new FileInputStream("C:\\Users\\Administrator\\Desktop\\test.jpg"); ps.setObject(2,in); ps.execute(); }catch (Exception e){ e.printStackTrace(); }finally {
java讀取代碼

try { conn = JdbcUtil.connection(); String sql1="select filename,data from pic_bin where id=?"; ps = conn.prepareStatement(sql1); ps.setObject(1,"1"); rs=ps.executeQuery(); if(rs.next()){ String filename=rs.getString("filename"); InputStream in=rs.getBinaryStream("data"); OutputStream out=new FileOutputStream("f:\\"+filename); out.write(in.readAllBytes()); out.close(); }
一些配置
Incorrect integer value: '' for column 'loginIP' at row 1
修改my.ini
;sql-mode="STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE,NO_ZERO_IN_DATE,NO_AUTO_CREATE_USER"
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
重啟即可
設置浮點數
update table_name set column=floor(1 + rand()*9);