MySQL select table - mysql

How can I select a MySQL table when the table name is in the URL format?
SELECT hash FROM 'http://www.mittelbayerische.de' WHERE time = '1465132682'
This will output following error:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''http://www.mittelbayerische.de' WHERE time = '1465132682'' at line 1

Are you sure that's a table name?
Anyway assuming it is, you should be able to use backticks to quote the table name.
SELECT hash FROM `http://www.mittelbayerische.de` WHERE time = '1465132682'

Related

Select ALL columns in MySQL with one column inside CAST function

I basically want to select all columns of my MySQL table, but want to change the datatype of only one column namely Patient_Number using CAST function only. Here is a screenshot of my MySQL table
So as my output, I want a similar table as I have shown in the screenshot, just want to have the datatype of Patient_Number from INT to VARCHAR.
I tried executing the following queries:
select * cast(Patient_Number as varchar) from clinic_data;
select * from clinic_data cast(Patient_Number as varchar);
But only got the following error message:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'cast(Patient_Number as char)' at line 1
SELECT * is basically not a good idea
But you need a comma, between both statements
And it should be char for the cast
select *, cast(Patient_Number as char) from clinic_data;
db<>fiddle here

Not able create a mysql table in Google Cloud SQL

CREATE TABLE projec (id TEXT(20),
name INT(50),
location TEXT(20),
locality TEXT(20),
type TEXT(20),
condition VARCHAR(20));
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'condition VAR
CHAR(20))' at line 6
Condition is a reserved word and can't be used for things like column names unless it is quoted first.

SQL Query having trouble creating temporary table

I am trying to use the my table adult3 to create a temporary table with rows from the column class that correspond to the condition:
SELECT class INTO #CLTable
FROM adult3
WHERE (class = '<=50K');
but I keep getting the error :
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near
'FROM adult3
WHERE (class = '<=50K')' at line 2
I don't get what I'm doing wrong.
I believe that you are using SQL Server syntax for creating a temp table.
Try this:
create temporary table CLTable as
select class from adult3
where (class='<=50K');
You could try:
INSERT INTO [tempTableName]
SELECT class FROM adult3
WHERE (class='<=50k')

Update longtext field in mysql

Im trying to update a longtext type field called 'comment' using a simple sql query in mysql client like this :
Update mytable set comment='Test' where id = 1;
But i'm getting this error
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'comment='Test' where id = 1' at line 1
Am i missing something ?, thanks in advance.
comment is a reserved word, if you want to have a table/field with that name, you have to quote it (or use the table.fieldname syntax, in case of a field). default in mysql is the backtick for that, so:
update mytable set `comment`='Test' where id = 1;
Found it, it gets solved with this:
update mytable as a set a.comment='Test' where id = 1;

delete query for mysql using c

can anyone tell me the correct query to delete values from mysql db table,in my case the table name and id are accepted from the user and the row is deleted based on id.This is my query
sprintf(Query,"DELETE FROM ('%s') where id = (%d)",tb1,idt1) ;
/*table name is in form of string and id is int */
mysql_query(conn,Query);
You should remove parentheses around the table name:
sprintf(Query,"DELETE FROM '%s' where id = (%d)",tb1,idt1) ;
MySQL considers queries like this syntax errors:
delete from (mytable) where id=2;
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(mytable) where id=2' at line 1
(I'll assume that you know everything about SQL injection attacks, and that neither tb1 nor idt1 are constructed from user input in any shape or form).